// 설명 변경
<meta
name="description"
content="나만의 감정일기장"
/>
...
// 타이틀 변경
<title>감정 일기장</title>
// Diary.js
const Diary = () => {
// 페이지마다 title 변경하기
useEffect(() => {
const titleElement = document.getElementsByTagName("title")[0];
titleElement.innerHTML = `감정 일기장 - ${id}번 일기`;
}, []);

// Edit.js
const Edit = () => {
// 페이지마다 title 변경하기
useEffect(() => {
const titleElement = document.getElementsByTagName("title")[0];
titleElement.innerHTML = `감정 일기장 - ${id}번 일기 수정`;
}, []);

// New.js
// useEffect import
import { useEffect } from "react";
import DiaryEditor from "../components/DiaryEditor";
const New = () => {
useEffect(() => {
const titleElement = document.getElementsByTagName("title")[0];
titleElement.innerHTML = `감정 일기장 - 일기 작성`;
}, []);
};
export default New;



public > favicon.ico 파일을 변경하면 페이지 아이콘을 변경할 수 있음
프로젝트 내 띄어쓰기, 줄바꿈 등 용량을 차지하는 요소가 많기 때문에 이 요소들을 모두 압축해줘야함.
필요한 파일과 코드만 압축해서 서버에 올려야함.
"build" : "react-scripts-build" 명령어 실행
npm run build 축약 명령어로 입력 가능
build완료 후 프로젝트 상단에 build 폴더 생성

npm install -g serve serve -s build

// App.js
function App() {
useEffect(() => {
const localData = localStorage.getItem("diary");
if (localData) {
// dataId의 current값은 diary data에서 가져온 가장 높은 id의 +1을 해줘야 함 -> diaryList를 sort하여 가장 높은 값 가져오기
// id기준으로 내림차순으로 정렬함수 생성
const diaryList = JSON.parse(localData).sort(
(a, b) => parseInt(b.id) - parseInt(a.id)
);
dataId.current = parseInt(diaryList[0].id) + 1;
}
}, []);

const Home = () => {
const diaryList = useContext(DiaryStateContext);
// 페이지마다 title 변경하기
useEffect(() => {
const titleElement = document.getElementsByTagName("title")[0];
titleElement.innerHTML = `감정 일기장`;
}, []);
npm run buildserve -s build