책 '실전 리액트 프로그래밍'의 1장을 읽고 학습 목적으로 정리한 내용입니다.
범용적인 자료구조
다.플러그인
단위로 이루어진다.프리셋(preset)
이라고 한다.@babel/cli
에는 커맨드 라인에서 바벨을 실행할 수 있는 바이너리 파일이 들어 있다.@babel/preset-react
는 리액트 애플리케이션을 만들 때 필요한 플러그인을 모아 놓은 프리셋이다.React.createElement(componenet, props, ...children) => ReactElement
속성값
을 작성하는 방법에 있다.npm install webpack webpack-cli
npx webpack
명령어를 실행한다.serviceWorker.register();
코드를 넣으면 된다.src폴더
밑에 있어야 한다.npm start
HTTPS=true npm start
set HTTPS=true && npm start
npm run build
npx serve -s build
npm test
__tests__
폴더 밑 JS 파일, 파일명이 .test.js
또는 .spec.js
로 끝나는 파일CI=true npm test
set "CI=true" && npm test
npm run eject
process.env.{환경 변수 이름}
으로 접근할 수 있다.NODE_ENV
환경변수의 값은 다음과 같이 결정된다.development
test
production
REACT_APP_
접두사를 붙여야 한다.process.env.REACT_APP_
형태로 접근한다.셸
에서 입력하거나 .env
파일을 이용해 입력할 수 있다.REACT_APP_API_URL=api.myapp.com npm start
set "REACT_APP_API_URL=api.myapp.com" && npm start
컴포넌트
를 중심으로 생각하는 게 좋다. UI는 컴포넌트의 조합으로 표현되며, 컴포넌트 하나를 잘 만들어서 여러 곳에 재사용하는 게 좋다. 그렇게 하기 위해서 각 컴포넌트는 서로 간의 의존성을 최소화하면서 내부적으로는 응집도
를 높여야 한다.응집도
가 높은 컴포넌트를 작성하기 위해 CSS 코드
도 컴포넌트 내부
에서 관리하는 게 좋다.css-module
, css-in-js
등이 있다.{이름}.module.css
자바스크립트에서
브라우저로 페이지 전환 요청(pushState)을 보낼 수 있다. 단, 브라우저는 서버로 요청을 보내지 않아야 한다.브라우저
의 뒤로 가기(popState)와 같은 사용자 페이지 전환 요청을 자바스크립트에서 처리할 수 있다. 이때도 브라우저는 서버로 요청을 보내지 않아야 한다.pushState
, replaceState
함수와 popState
이벤트를 사용한다. 브라우저에는 히스토리에 state를 저장하는 스택이 존재한다.
Have a good day