如何在 Next.js SSG 或 s-s-r 中使用 Redux 工具包调度?

Posted

技术标签:

【中文标题】如何在 Next.js SSG 或 s-s-r 中使用 Redux 工具包调度?【英文标题】:How to use Redux toolkit dispatch in Next.js SSG or s-s-r? 【发布时间】:2022-01-03 12:31:11 【问题描述】:

我很长时间无法解决使用 Hook 的问题,例如 getStaticPropsgetServerSideProps 中的 useDispatch 。 我使用 redux-toolkit 来管理状态并使用 Next.js ,但是在我的 SSG 函数中使用 (useDispatch) 时出现错误

错误:无效的挂钩调用。钩子只能在体内调用 一个函数组件。

我还找到了解决此问题的解决方案,该解决方案使用 redux-next-wrapper。但我想知道除了redux-next-wrapper之外还有其他方法可以解决我的问题吗?

【问题讨论】:

【参考方案1】:

如果您使用 Nextjs,避免潜在错误的最佳方法是使用 next-redux-wrapper 。一开始可能看起来有点混乱,但很快你就会明白了。我在我的 github 上有一个用于 next-redux-wrapper 的样板,其中包含 3 个简单的 reducer 来匹配不同的情况,请随意更改它以满足您的需求:https://github.com/vahidkk/My-customized-Redux-Wrapper-for-Next.js-with-3-reducers

【讨论】:

找不到此链接 抱歉,忘记公开了。再看看吧。

以上是关于如何在 Next.js SSG 或 s-s-r 中使用 Redux 工具包调度?的主要内容,如果未能解决你的问题,请参考以下文章

SSG和s-s-r如何选择?

我应该使用哪一个:s-s-r、仅 SPA 或 SSG 用于我的 Nuxt 项目?

如何实现redux-toolkit和next,js又不丢s-s-r

如何在 8.0 版中使用 `target: "serverless"` 使用 Next.js 正确实现无服务器 s-s-r

在 React 中渲染格式化(未缩小的)HTML(带有 Next.js 的 s-s-r)

Next.js 与 FortAwesome 和 s-s-r