TIL - 2021.10.19

DD-TIL·2021년 10월 19일
0

TIL

목록 보기
234/254

Today Ariticle

그 외 오늘 참고한 아티클들


Today I Learned

typescript에서 undefined의 경우를 처리할 때

const params = useParams<{userId:number}>()
console.log(params.userId) // error 
  • 대략 위와 같은 경우 params가 undefined인 경우 때문에 생각대로 되지 않는다.
  • params?.userId와 같은 접근으로 어느정도 해결 될 수 있으나, 이후 로직이 어떻냐에 따라서 해결이 안 될 수 있다. params가 undefined인 경우 먼저 return하는 것도, params에 있는 값으로 hooks를 사용해야 하는 경우라면, 컴포넌트 최상단에서 hooks를 사용해야하는 규칙에도 위배된다.
  • params.userId ?? -1과 같은 방법으로 해결할 까 했으나, 팀이 조언해주었다.
  • 먼저 early return 대신 early throw를 하면, 에러가 발생하지 않는다 throw를 하면 프로그램 자체를 닫아버리는? 효과가 되기 때문에..
  • 그 후에 Error boundary 컴포넌트로 감싸서 처리한다!
  • assertion?을 사용해서 typescript가 잡아내도록 할 수도 있는거 같다. 아직 이 부분은 잘 모르겠음.. 관련 유명 라이브러리를 소개해줬는데 한 번 공부해봐야겠다.

Draft PR

  • 완료되지 않은 작업을 공유하고 싶을 때 사용하면 좋다. help 라벨 달아서 코드를 공유하고, 해결되면 그냥 close하는 용도!

Today Review

profile
TIL을 작성하기 위한 공간입니다. 본진은 => https://velog.io/@jjunyjjuny

0개의 댓글