使用create-react-app时,对于非常大的react应用程序,我打算在next.js中编写所有未来的应用程序,因为它是丰富的默认内置特性。我的问题是,当我构建一个非常大的企业应用程序时,我使用Redux进行全局状态管理。因为我需要很多共享状态,Redux是一个很好的选择。如果您需要在next.js中构建一个非常大的Web应用程序,其中有如此多的全局数据,并且需要全局状态管理解决方案,那么您更喜欢什么?
tzdcorbm1#
Redux在Nextjs上运行良好,所以你不会出错。我认为Redux对于大型应用程序是有意义的,因为它是最广为人知的。如果你正在做一个小的个人项目,但是想要一个类似于redux的全局状态风格,但是需要更少的设置和样板文件,你可以看看Zustand。它很容易实现。你所需要做的就是修改默认模板来 Package 你的页面属性,如下所示:
const App = ({ Component, pageProps }) => { Store.setState(pageProps); return <Component />; };
cnh2zyt32#
在大型企业应用程序中,您必须考虑性能和可伸缩性。您应该通过正确缓存数据来避免不必要的数据获取或磁盘IO操作。无论设置什么状态管理,您都必须确保应用程序具有低延迟。Redux是一个选项,但另一个选项是使用swr+contextApi来替换redux。我在这里解释了全局状态管理和Next.js基本上,你不用reducer,而是编写hook,在hook内部,你使用swr包来获取数据。
swr+contextApi
swr
2条答案
按热度按时间tzdcorbm1#
Redux在Nextjs上运行良好,所以你不会出错。我认为Redux对于大型应用程序是有意义的,因为它是最广为人知的。
如果你正在做一个小的个人项目,但是想要一个类似于redux的全局状态风格,但是需要更少的设置和样板文件,你可以看看Zustand。
它很容易实现。你所需要做的就是修改默认模板来 Package 你的页面属性,如下所示:
cnh2zyt32#
在大型企业应用程序中,您必须考虑性能和可伸缩性。您应该通过正确缓存数据来避免不必要的数据获取或磁盘IO操作。无论设置什么状态管理,您都必须确保应用程序具有低延迟。Redux是一个选项,但另一个选项是使用
swr+contextApi
来替换redux。我在这里解释了全局状态管理和Next.js基本上,你不用reducer,而是编写hook,在hook内部,你使用
swr
包来获取数据。