Redux文档的第一个原则是:
整个应用程序的状态存储在单个存储中的对象树中.
我真的认为我很理解所有的原则.
如果应用程序只是网站中一个小而复杂的部分,并且只在一个页面中工作,我理解.但如果应用程序意味着整个网站呢?我应该使用LocalStorage或cookie之类的工具来保存状态树吗?但是如果浏览器不支持本地存储呢?
我想知道开发人员如何保持他们的状态树!:)
Redux文档的第一个原则是:
整个应用程序的状态存储在单个存储中的对象树中.
我真的认为我很理解所有的原则.
如果应用程序只是网站中一个小而复杂的部分,并且只在一个页面中工作,我理解.但如果应用程序意味着整个网站呢?我应该使用LocalStorage或cookie之类的工具来保存状态树吗?但是如果浏览器不支持本地存储呢?
我想知道开发人员如何保持他们的状态树!:)
如果希望在浏览器刷新期间保持redux状态,最好使用redux中间件.查看redux-persist和redux-storage中间件.它们都试图完成存储redux状态的相同任务,以便可以随意保存和加载.
--
Edit
我已经有一段时间没有重新讨论这个问题了,但是看到另一个(尽管答案更高)鼓励你推出自己的解决方案,我想我应该再次回答这个问题.
截至本次编辑,这两个库都在过go 六个月内进行了更新.我的团队在生产中使用redux已经有几年了,没有任何问题.
虽然这似乎是一个简单的问题,但您很快就会发现,使用自己的解决方案不仅会造成维护负担,还会导致错误和性能问题.首先想到的例子是:
JSON.stringify
和JSON.parse
不仅会在不需要时影响性能,还会引发错误,如果在关键代码段(如redux应用store )中不进行处理,可能会导致应用程序崩溃.总而言之,for 3kB minified + gzipped(在本次编辑时)这不是一个问题,我会要求我的团队自行解决.