如何在 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 的问题,例如 getStaticProps
或 getServerSideProps
中的 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 工具包调度?的主要内容,如果未能解决你的问题,请参考以下文章
我应该使用哪一个:s-s-r、仅 SPA 或 SSG 用于我的 Nuxt 项目?
如何实现redux-toolkit和next,js又不丢s-s-r
如何在 8.0 版中使用 `target: "serverless"` 使用 Next.js 正确实现无服务器 s-s-r