• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 contextprovider의 children 을 props 검증 안해도 되나요?

contextprovider의 children 을 props 검증 안해도 되나요?

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #115764

    한칸
    참가자
    강의 보고 이것저것 해 보고 있습니다..
    // ContextProvider.jsx............................................................
    export const ContextProvider = ({ children }) => {
      const [user, setUser] = useState({
        name: 'Test',
      });
    
      const [token, _setToken] = useState(localStorage.getItem('ACCESS_TOKEN') || null);
      const setToken = (token) => {
        _setToken(token);
        if (token) {
          localStorage.setItem('ACCESS_TOKEN', token); // 토큰이 존재하면 로컬 스토리지에 저장
        } else {
          localStorage.removeItem('ACCESS_TOKEN'); // 토큰이 없으면 로컬 스토리지에서 제거
        }
      };
    
      return (
        <StateContext.Provider value={{ user, setUser, token, setToken }}>
          {children}
        </StateContext.Provider>
      );
    };
    
    
    ///main.jsx........................................................
    ReactDOM.createRoot(document.getElementById('root')).render(
      <React.StrictMode>
        <ContextProvider>
          <RouterProvider router={router} />
        </ContextProvider>
      </React.StrictMode>,
    )
    그런데, ContextProvider = ({ children })에서 children에 빨간줄이 가서 보니, 
    children' is missing in props validation 이라고 나오더군요.. prop-types를 설치하고, 검증을 했는데.. 이게 맞는지요?
    
    ContextProvider.propTypes = {
      //children: PropTypes.node.isRequired,
      children: PropTypes.node
    };
    children 는 main.jsx에서 어떤 값이든 들어올수 있을거 같은데.. 어떻게 구성해야 할지를 모르겠습니다.
    gpt에 물어보니, 디버깅과 안정성을 위해서는 검증하는게 좋다는 답변과 어떤 값이 들어올지 모르니,
    특정한 상황이 아니면 안해도 괜찮다는상반된 답변을 주네요..
    
    알려주시면 감사하겠습니다.. ^^;
    
    
    		
    	
    #115810

    codingapple
    키 마스터
    children에 들어갈게 다양하면 .node 붙이면 되는데 예전에 쓰던 라이브러리라 그냥 lint 끄는게 나을 수도 있습니다
    #115829

    한칸
    참가자
    답변 감사합니다..
    lint를 끄라는 것이 검증을 하지 말라는 건가요? ㅎㅎ
    #115857

    codingapple
    키 마스터
    넴 다 타입스크립트씁니다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠