dahye8043
100
2021-11-05 10:47:36
3
131

리액트에서 {children} 컴포넌트에 state 전달할수 있나요??


next.js 쓰고 있습니다.

Layout 컴포넌트를 만들어서 _app.js에서 이렇게 불러온 상태입니다

function MyApp({ Component, pageProps }) {
  return (
    <Layout>
    <Component {...pageProps} />
    </Layout>
  )
}

Layout.js

const Layout = ({children}) => {
  const [Search, setSearch]= useState('');
  return (
    <div>
      <Logo />
      <Nav />
      <div>{children}</div>
    </div>
  );
};

입니다!

{children}은 컴포넌트인데 저 Search, setSearch를 children에 전달하고싶은데 방법이 있을까요??


0
  • 답변 3

  • 페코옹
    1k
    2021-11-05 11:41:37 작성 2021-11-05 12:38:23 수정됨

    무슨 생각이신지는 알겠는데 그렇게 하지마시고

    query나 [search]같은 파라미터로 보내세요.

  • 스크륍트
    42
    2021-11-06 02:03:03 작성 2021-11-06 02:03:19 수정됨


    const Layout = ({componentEl}) => {
        const [search, setSearch]= useState('');
        const ComponentEl = componentEl;
    
        return (
          <div>
            <Logo />
            <Nav />
            <div>
                <ComponentEl search={search}/>
            </div>
          </div>
        );
      };
    }

    이렇게 하면 가능합니다만 비추합니다.

  • dahye8043
    100
    2021-11-06 11:09:47

    감사합니다!


  • 로그인을 하시면 답변을 등록할 수 있습니다.