리뷰는 여기서 - 일일 아티클
React + TypeScript 조합으로 개발하다보면 종종 마주쳤던 문제가 있는데, 특정 값이 undefined인 경우를 어떻게 처리할 것인가??이다.
export default function SampleComponent(){
const {data} = useData()
return <div>{data.id}</div> // data가 undefined인 경우 에러
}
이런 경우 해결법은 여러가지가 있다.
data?.id
data.id ?? -1
if(!data) return
export default function HOC({props}){
const {data} = useData()
if(!data) return <div>data가 없습니다</div>
return <Component {...props}/>
}
이렇게하면 hooks보다 먼저 조건문을 실행해야하는 경우에 hooks 규칙에 위배되는 상황을 방지할 수 있다. 해당 컴포넌트는 애초에 data가 존재하는 경우에만 렌더되기 때문!