最佳答案
我正在构建一个 Next.js 应用程序,它目前正在使用 Redux。在构建它的过程中,我想知道使用 Redux 是否真的有必要,它的使用是否实际上是一种反模式。我的理由是:
为了在 Next.js 中正确地初始化 Redux Store,您必须使用 getInitialProps
方法创建一个定制的 App
组件。通过这样做,您将禁用 Next.js 提供的 自动静态优化。
相比之下,如果我要在客户端包含 Redux,只有在应用程序挂载之后,那么 Redux 存储将在每次服务器端导航之后重置。例如,我有一个 Next.js 应用程序,它在客户端初始化 Redux 存储,但是当路由到一个动态路由(如 pages/projects/[id]
)时,页面在服务器端呈现,我必须重新获取存储中的所有信息。
我的问题是:
App
组件中初始化存储并放弃自动静态优化吗?getStaticProps
和 其他数据获取方法的 Next.js 9.3中,是否有更好的方法来管理状态