타입스크립트 3

[storybook] 리액트로 프론트엔드 개발 시 유용한 컴포넌트 관리 도구, 스토리북을 도입해보기 - 3

리액트로 프론트엔드 개발 시 유용한 컴포넌트 관리 도구, 스토리북을 도입해보기 - 3 (CRA + TypeScript + Prettier + ESLint + husky + lint-staged + Storybook + chromatic) TypeScript를 기반으로 하는 Create React App 준비는 첫 번째 시리즈에서 다뤘고, ESLiint와 Prettier는 두 번째 시리즈에서 다루었다. 2022.01.28 - [분류 전체보기] - [Storybook] 리액트로 프론트엔드 개발 시 유용한 컴포넌트 관리 도구, 스토리북을 도입해보기 - 1 2022.02.04 - [🛠/Dev Tool] - [storybook] 리액트로 프론트엔드 개발 시 유용한 컴포넌트 관리 도구, 스토리북을 도입해보기 - 2..

🛠/Dev Tool 2022.02.04

[TypeScript] 적재적소에 interface와 type을 쓰는 방법과 스타일 가이드

몇 개의 프로젝트에서 타입스크립트를 쓰고 나서부터는 이제 타입스크립트 이전으로 돌아가지 못하고 있다. 그런데 또 체계적으로 타입스크립트를 써온 게 아니라, 쓰는 타입만 쓰고, 그때 그때 에러를 해결해 나가면서 체득한 것인지라 시간이 나면 잘 정리된 문서들을 읽으면서, 문법을 익히려고 한다. React Native를 할 때 가장 TS를 많이 썼는데, 이때는 거의 interface로 점철하다시피했다. type과 interface가 거의 비슷하다는 것은 알고 있었지만, 딱 거기까지어서 이번 기회에 정리해봤다. Interface interface는 object 타입을 정의하는 다른 방법이다. 이름과 나이를 받는 user라는 이름의 객체 정보가 있을 때 아래처럼 interface를 선언할 수 있다. interfa..

[TypeScript] TS2531 Object is possibly 'null'과 Optional Chaining Operator(옵셔널 체이닝 연산자) (?.)

작년 말부터는 웹 개발보다는 앱 개발을 더 열심히 하는 해다. 네이티브에 대한 지식이 없어서, 되도록 빨리 만들어야 하는 MVP 앱은 리액트 네이티브+엑스포 스택으로 시작하게 되었는데, Expo 프레임워크가 제공하는 expo-constants library 사용 중에 만난 타입스크립트 에러이다. 리액트 네이티브의 Aniamted 모듈을 사용해 backgroundColor를 지정할 때 발생했는데, 이때 App.json에 미리 작성한 시스템 배경색을 가지고 오려고 했다. 주석을 처리하지 않은 코드에서 보면 모든 객체들이 체이닝되어 키들을 잘 따라가고 있는데, 에러가 나서 App.json으로 다시 가서 확인해봤다. "splash": { "image": "./src/assets/images/splash.png"..

1