도리쓰에러쓰

[TIL] 프리온보딩 7일차 - 220509 본문

Project/원티드 프리온보딩 프론트엔드 코스

[TIL] 프리온보딩 7일차 - 220509

강도리 2022. 5. 10. 02:30

📍 개인 과제

1️⃣ 'void 형식에 then이 없다'는 에러

ts를 처음 사용하다보니 void 형식에 then이 없다는 말에 type을 잘못 작성했다고 생각하고, type 선언한 코드만 계속 봤다. 알고보니 return 작성 안해준 .. 이 에러 때문에 API 못불러와서 하루를 날려먹었다. 그래도 해결한게 어디야.. 

🔽 내가 잘못 쓴 코드

export const getMoviesApi = (params: Params) => {
  axios.get<IMovieAPIRes>(`${MOVIE_BASE_URL}/?`, {
    params
  })
}

 

🔽 수정한 코드

export const getMoviesApi = (params: Params) => {
  return axios.get<IMovieAPIRes>(`${MOVIE_BASE_URL}/?`, {
    params
  })
}

export const getMoviesApi = (params: Params) => 
  axios.get<IMovieAPIRes>(`${MOVIE_BASE_URL}/?`, {
    params
  })

위 아래 코드는 모두 같은 의미의 코드이다. return을 작성했는지와 안했는지에 차이일 뿐이다.

 

 

2️⃣ SVG 파일의 type 지정

- type을 지정해줄 파일을 생성하여 아래와 같이 작성

💡 파일 위치 : src > types > custom.d.ts

declare module '*.svg' {
  const content: any
  export default content
}

 

 

- 그리고 tsconfig.json에 아래 코드 추가

"include": [
    "src/types/custom.d.ts"
  ]

 

- SVG 파일을 추가할 tsx 파일에 import 하기

import { ReactComponent as MoviesTitleIcon } from '../../assets/svgs/movie/MoviesTitleIcon.svg'

 

Comments