본문 바로가기

DEVELOP

[React.js] Typescript로 초기 셋팅

728x90

타입스크립트로 코드를 작성하면 오류사항이 즉각 보여 개발할 때 좀더 꼼꼼히 작업할 수 있는 이점이 있다.

확장자는 .tsx이며 Typescript로 React를 셋팅 하는 법을 기록하고자 한다.

 

셋팅 버전 참고

 

(참고 : react17 과 react-router-dom5 | react18과 react-router-dom6)

"dependencies": {
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "@types/jest": "^27.5.2",
    "@types/node": "^16.18.32",
    "@types/react": "^18.2.7",
    "@types/react-dom": "^18.2.4",
    "@types/react-query": "^1.2.9",
    "@types/react-router-dom": "^5.3.3",
    "@types/recoil": "^0.0.9",
    "@types/styled-components": "^5.1.26",
    "dotenv": "^16.3.1",
    "firebase": "^9.22.2",
    "framer-motion": "^5.0.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-hook-form": "^7.43.9",
    "react-router-dom": "^5.3.3",
    "react-scripts": "5.0.1",
    "recoil": "^0.7.7",
    "styled-components": "5.1",
    "typescript": "^4.9.5",
    "web-vitals": "^2.1.4"
  },

1. node.js와 npm 설치

 

2. 프로젝트 생성

npx create-react-app project-app-name --template typescript

 

3. 자주 사용하게 될 package설치 (타입스크립트가 인식하지 못하는 package는 따로 @types/ 를 붙여 설치

참고 깃헙(TypeScript에 유명한 npm package가 무엇인지 설명하는 저장소)

 

npm install --save @types/styled-components

(--save는 git init을 통해 프로젝트 시작시, package.json에 dependencies에 추가하기 위해 입력. 습관화하면 좋다.)

npm install --save recoil

npm install --save react-router-dom

npm install --save react-hook-form

npm install --save framer-motion

npm install --save dotenv

 

4. src/App.tsx, index.tsx, react-app-env.d.ts 남기고 나머지 삭제

 

5. App.tsx에 Reset.css 추가

https://meyerweb.com/eric/tools/css/reset/

 

CSS Tools: Reset CSS

CSS Tools: Reset CSS The goal of a reset stylesheet is to reduce browser inconsistencies in things like default line heights, margins and font sizes of headings, and so on. The general reasoning behind this was discussed in a May 2007 post, if you're inter

meyerweb.com

6. Components 폴더 생성후 Header.tsx 및 공통 부분 컴포넌트 생성

 

7. 생성한 컴포넌트는 퍼즐처럼 App.tsx 에서 최종 조립

 

8. gnb에서 페이지 이동을 위한 라우터 설정 (다음 편에서 계속............)