Today Ariticle
그 외 오늘 참고한 아티클들
Today I Learned
typescript에서 undefined의 경우를 처리할 때
const params = useParams<{userId:number}>()
console.log(params.userId)
- 대략 위와 같은 경우 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