【发布时间】:2021-03-22 01:22:38
【问题描述】:
我的设置如下。我有一个布局组件,我在其中添加了一个导航组件和子组件。我像这样用我的 Provider 包装它们
AppLayout.js
<Layout>
<Navigation/>
<main>
{children}
</main>
</Layout>
现在<Navigation/> 组件可以访问React.useContext(ContextProvider) 返回的数据。
但是 Layout 的子组件没有!如果我尝试在<Navigation/> 组件中使用console.log(state),我会按预期取回实际数据。
但是当我有这样的子组件时:
Child.js
<AppLayout>
<div>Some content</div>
</AppLayout>
状态始终未定义。我设法解决此问题的唯一方法是将 Provider 包装在 _app.js 文件中的组件周围。有谁知道如何在不将 <Component/> 文件中的 <Component/> 包装起来的情况下解决这个问题?
【问题讨论】:
标签: reactjs next.js react-context