FE RYAN
완벽하지 않으면 어때
FE RYAN
전체 방문자
오늘
어제

블로그 메뉴

  • 💾 깃허브 링크
  • 홈
  • 태그
  • 분류 전체보기 (151)
    • 개인프로젝트 (8)
      • 개인 포트폴리오 웹앱 (6)
      • 프론트엔드 기술면접 아카이빙 웹앱 (2)
    • 기록 (121)
      • 원티드 프리온보딩 인턴십 (0)
      • 코드스테이츠 프론트엔드 (75)
      • 생각들 (3)
      • Today I learned (32)
      • 회고 (9)
      • 리뷰 (1)
    • 개발 (17)
      • React (3)
      • Javascript (7)
      • CSS (1)
      • HTML (3)
      • HTTP (1)
      • 자료구조 (0)
      • 알고리즘 (2)
    • 코딩테스트 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • 디자인 (1)
      • UI & UX (1)
    • 수학 (0)
    • 자기계발 (0)

공지사항

인기 글

태그

  • 부트캠프
  • HTML
  • 신입개발자
  • 회고
  • css
  • 코드스테이츠
  • 딥다이브
  • ES6
  • 리액트
  • 원시타입
  • seb 39
  • 자바스크립트
  • 메인프로젝트
  • 타입스크립트
  • useMemo
  • 포트폴리오
  • Til
  • 자바스크립트 딥다이브
  • seb39
  • 프론트엔드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
FE RYAN

완벽하지 않으면 어때

기록/Today I learned

22.10.27 TIL - 포폴앱 타입스크립트 마이그레이션

2022. 10. 29. 16:26
728x90

1. Done


1.1 리액트 개인포폴앱 타입스크립트로 마이그레이션 하기

  • React.FC를 사용하지 않는 방법이 더 좋아보인다.
  • 함수 컴포넌트는 화살표 함수보다 function 키워드를 사용하는게 요즘 트렌드라고 한다.

1.1.1 기존 프로젝트에 타입스크립트 추가하기

참고

  1. git switch -c dev 또는 git branch -b dev 로 새 브랜치(dev) 생성
  2. 관련 패키지 설치
    1. typescript
    2. @types/node
    3. @types/react
    4. @types/react-dom
    5. @types/jest
    6. @types/react-router-dom ( *라우터 사용하는 경우에만 )
  3. 프로젝트에 타입스크립트 추가 (npx tsc —init)
  4. tsconfig.json 환경설정 값 프로젝트에 맞게 변경

관련 패키지 설치

devDependencies 로 설치하는게 좋다.

  • 팀원들 모두가 항상 동일한 버젼으로 설치한다는 보장이 없다.
  • 시스템 레벨로 아래 패키지들을 설치해둔 경우 프로젝트를 셋업할 때 별도의 단계가 추가된다.
npm i -d typescript @types/node @types/react @types/react-dom @types/jest @types/react-router-dom

tsconfig.json 생성

npx tsc --init

1.1.2 [디버깅] Cannot use JSX unless the '--jsx' flag is provided.ts

// tsconfig.json
"compilerOptions" : {
	"jsx": "react" // 추가
}

1.1.3 [디버깅] could not find a declaration file for module implicitly has an 'any' type.

// tsconfig.json
"compilerOptions" : {
	"allowJS": true // 추가
}

점진적인 마이그레이션을 위해 .js 확장자를 허용해주도록 임시로 설정값 변경.

1.1.4 Binding element 'children' implicitly has an 'any' type

Props의 children의 타입을 지정해주어야 한다.

728x90
저작자표시 비영리 변경금지

'기록 > Today I learned' 카테고리의 다른 글

22.11.11 금 TIL  (0) 2022.11.12
22.11.10 목 TIL  (0) 2022.11.10
22.10.26 TIL  (0) 2022.10.26
22.10.25 TIL  (0) 2022.10.25
22.10.24 TIL  (0) 2022.10.24
    '기록/Today I learned' 카테고리의 다른 글
    • 22.11.11 금 TIL
    • 22.11.10 목 TIL
    • 22.10.26 TIL
    • 22.10.25 TIL
    FE RYAN
    FE RYAN

    티스토리툴바