리덕스 툴킷을 이용해서 액션 크리에이터에서 발생하는 중복을 제거하고, Emotion을 이용해 꾸며주세요. 그리고 최적화를 진행해 주세요. 하지만 너무 이른 초기화는 좋지 않으니 주의하셔야 합니다.
- Redux toolkit을 사용하여 중복 코드 제거하기
- Emotion을 이용하여 꾸미기
- UseCallback을 이용하여 성능 최적화하기
- React.memo를 이용해서 성능 최적화하기
- ESLint를 돌린 결과 아무런 문제가 없어야 합니다.
- 모든 인수 테스트를 통과시켜야 합니다.
- 한 파일에는 하나의 컴포넌트만 있어야 합니다.
- 테스트 커버리지 100%를 달성해야 합니다.
- 모든 기능은 TDD로 구현합니다. 컴포넌트와 reducer에 대한 테스트가 존재해야 합니다. 먼저 테스트를 추가하고 commit 한 뒤 실제 기능을 추가하고 commit합니다. commit 메시지 로그는 아래와 같이 남아야 합니다.
Restaurant에 대한 테스트를 추가한다
Restaurant을 구현한다
Restaurant를 리팩토링한다
...
if
는 사용할 수 있어도else
사용하실 수 없습니다.GuardClauses
방법을 사용해주세요.switch
는 사용하실 수 없습니다.let
은 사용하실 수 없습니다.const
만을 사용하여 문제를 해결해주세요.- 함수 이름과 변수 이름에 줄임말은 사용하실 수 없습니다. 길더라도 명확하게 써주세요.
- indent(인덴트, 들여쓰기) depth를 1로 유지해주세요. 예를 들어, for문 안에 if문이 있으면 indent depth는 2입니다. depth를 줄이는 좋은 방법은 함수(또는 메소드)를 분리하면 됩니다.
npm install
npm start
자동으로 브라우저가 켜지지는 않으니 브라우저에 http://localhost:8080
을 입력하여 접속해 주세요.
만약 현재 컴퓨터에서 이미 8080
이라는 포트를 사용하고 있다면 8081
으로 실행이 될 수도 있어요. 만약 8081
도 사용하고 있으면 8082
, 8083
... 순서대로 찾아서 만들어집니다.
npm run lint
npm test
npm run test:unit
# 파일이 저장됐을 때 자동으로 테스트 실행하기
npm run test:unit -- --watch-all
# 커버리지 출력하기
npm run coverage
서버가 실행중인 상태에서 테스트를 실행해야 합니다.
npm run test:e2e