【问题标题】:Share props between components in NextJs在 NextJs 中的组件之间共享 props
【发布时间】:2021-09-26 15:44:10
【问题描述】:

项目文件结构如下:

components
├─homepage
│ ├─index.jsx
├─location
│ ├─index.jsx
pages
│ ├─location
│ │ ├─[id].jsx
│ ├─presentation
│ │ ├─[id].jsx
│ ├─_app.jsx
│ ├─index.jsx
functions
├─dataFetch.js

pages/index.jsx 具有getInitialProps() 内部具有数据获取功能。我需要将 api 获取结果数据分享给 pages/location/[id].jsxpages/presentation/[id].jsx

我对这个问题的解决方案是开始使用 redux(我不仅在这种情况下需要它)。 但是,它会在网站首次加载时页面呈现道具出现问题。

例如,如果我转到http://localhost:3000 - 它会正常工作,因为数据是在pages/index.jsx 中获取的。 但是如果我转到http://localhost:3000/location/12345 - 将不会获取任何数据,因为我没有在该页面上调用getInitialProps()

我使用 redux 解决此问题的方法是否正确?如果是这样,我应该从哪里获取数据?

【问题讨论】:

    标签: javascript reactjs redux next.js


    【解决方案1】:

    我会说添加一个 AppWrapper,它在上下文提供程序 https://reactjs.org/docs/context.html#reactcreatecontext 内呈现子项。并将其放入 _app.jsx

    _app.jsx 也可以是 Redux 获取数据的地方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 2020-08-31
      • 2016-04-20
      • 2020-04-02
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多