Replies: 2 comments 1 reply
-
문득 생각이 든게 createContext 를 initState 혹은 null 로 초깃값을 설정하는데, 그러면 undefined 가 아니라 null 이 들어올 것 같아요. +) |
Beta Was this translation helpful? Give feedback.
1 reply
-
일단 이견이 없으시면 DONE 으로 변경해놓겠습니다. 특이사항 발생 시 태그해주세요~ |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
저희가 현재 프로젝트에서 Context를 생성하면 useContext를 사용하여 에러 처리를 해주고 있는데 문득 해당 에러의 메세지와 관련하여 의견을 나누고 싶은게 있어 디스커션을 올리게 되었습니다.
현재 저희가 일종의 컨벤션 처럼 useContext 훅을 아래와 같은 형태로 구현을 하고 있는데요.
Headless 컴포넌트의 경우 해당 에러를 발생시키는 경우가 하위 Compound 컴포넌트를 context provider 의 역할을 하는 Root 컴포넌트의 자식으로 사용하지 않고 외부에서 사용하려는 경우로 좀 특정 지어져 있는 것 같은데.
그런 경우 일 때 해당 에러의 주 대상은 Headless 컴포넌트를 사용하려는 사용자가 될 것 같아요.
그런데 저희 Headless 컴포넌트가 라이브러리화 된다고 생각하니 문득 해당 에러 메세지가 약간 라이브러리 사용자가 굳이 알 필요 없는 내용을 제공하고 있는게 아닌가 싶은 생각이 들더라구요.
내부의 Compound 컴포넌트 들끼리 상태를 공유하기 위해 Context를 사용하고 있다는걸 굳이 알려줄 필요가 있을까 싶고
(애초에 내부 컴포넌트끼리의 상태 공유가 외부로 드러나지도 않으니...)
또 만약 모르는 상태로 라이브러리를 가져다 사용하려고 하는데 규격에 맞지 않는 방식으로 잘못 사용하여 저 에러를 봤을 때 과연 어떤 부분에서 무슨 잘못을 했는지 직관적으로 알 수 있을까 싶은 생각도 들었어요.
( 사실 좀 전에 제가 만든 Headless 컴포넌트에 스타일을 입히고 조합해서 사용 해보려다 실수로 저 에러를 보고 당황해서 든 생각입니다 ^//^)> )
그래서 Headless 컴포넌트 내의 useContext 훅 한정으로 error 메세지를 Compound 컴포넌트들은 Root 역할을 하는 컴포넌트로 감싸줘야 한다는 식으로 변경해주면 어떨까 싶습니다.
그런데 또 한편으로 에러 메세지는 좀 더 근본적인 원인을 제공해야 한다고 생각하면 지금 이대로가 맞는건가 싶네요.
어떻게 생각하시나요?
만약 에러 메세지가 변경 되는게 나은 것 같다면 혹시 더 적절한 문구가 있을까요?
Beta Was this translation helpful? Give feedback.
All reactions