2023. 12. 13. 01:02ㆍ개발
개인 과제로 했던 프로젝트를 디벨롭해서
환경 세팅부터 배포까지
혼자 힘으로 이때까지 배운 것을 리마인드.
내부는 리액트 툴킷 및 외부는 쿼리를 중심으로
커스텀 훅 및 리랜더링을 방지하기 위한
useRef, useEffetc ,React.memo , useCallback, useMemo
RestFul API 및 비동기 처리
등등 해볼 생각.
난항이 예상되지만 재밌으면 장땡아니겠음?
기본 환경 세팅 부터
yarn 설치
npm install --global yarn
tsx 설치
# yarn을 사용하는 경우
yarn create react-app my-app --template typescript
# npx를 사용하는 경우
npx create-react-app my-app --template typescript
리액트 폴더 생성
yarn create react-app SOLO-FAN
스타일 컴포넌트 설치
yarn add styled-components
라우터 설치
yarn add react-router-dom
리덕스 툴킷 설치
yarn add react-redux @reduxjs/toolkit
리액트 쿼리 설치
yarn add react-query
파이어베이스 설치
yarn add firebase
axios 설치
yarn add axios
uuid 설치
yarn add react-uuid
json 설치
yarn add json-server
json 실행
yarn json-server --watch db.json --port 3001
//src폴더 아래에 폴더들 생성
components
hooks
pages
redux -> config//modules
shared
styles
firebase.js 파일 생성
//루트에
.env.local
절대 경로 설정
루트 //
jsconfig.json
루트 //
.prettierrc
CSS 리셋
styles폴더 GlobalStyles.js
//리덕스 툴킷 세팅
redux -> config/moudles
툴킷 configureStore 세팅
툴킷 modules//Slice 세팅
툴킷 index.js 세팅
//리액트 쿼리 세팅
쿼리 app 세팅
쿼리 api 세팅 예시
api 폴더 Todo.js
쿼리 invalidation 사용 예시
쿼리 컴포넌트 사용 예시
//라우트 세팅
shared 폴더 Router.js
react-router-dom Hooks이란?
* useNavigate
* useLocation
* Link
children 용도
크롬 extention
Redux DevTools 도 다운 받아서 쓰면 좋음