context를 사용하는 컴포넌트에서 항상 null을 확인하는 전처리를 해주는 불편한 상황
Last updated
Was this helpful?
Last updated
Was this helpful?
ContextAPI를 사용하여 다크모드를 구현 하는 도중에 Custom Hook useDarkMode 에서 다크모드를 사용하기 위해 작성한 ThemeContext 를 사용할 때 context를 사용하는 컴포넌트에서 항상 null을 확인하는 전처리를 해주는 불편한 상황이 있었다.
위 사진처럼 null인 것 같다는 메세지가 나와서 전처리를 해줬어야 한다.
이런 식으로 앞에 ? 을 붙여서 해결을 해줬지만 분명 값이 null이 아닌 걸 잘 아는데 굳이 이렇게 사용하는 곳마다 ? 을 붙여서 처리를 해줘야 하는 생각이 들었다.
원인은 바로 ThemeProvider에서 내가 null을 같이 작성했기 때문에 전처리를 하라고 나온 것이었다.
알아본 결과 TypeScript에 type assertion을 활용하면 해결할 수 있었다.
이 방법은 개발자가 전적으로 믿을 때 사용하는 방법이다.