在我的redux
应用中,我有一些设置应该在更改时保存到磁盘(作为JSON文件)并加载应用程序(以填充商店的初始状态)。
我猜应用设置是状态,因此它们属于商店。然后,我有一些修改设置的操作,例如SETTINGS/CHANGE
和有效负载{name:'settingName', value: 'settingvalue'}
或细粒度SETTINGS/UNITS
,有效负载'metric'
或'imperial'
。
现在我需要一些拦截某些状态更改/操作提交的内容,并将它们作为序列化JSON保存到磁盘。这是settings
reducer应该自己做的还是更好的某种中间件可以在后台执行这种异步?
在代码中会是什么样子?
答案 0 :(得分:1)
krs说,您可以使用localStorage
API。小心,因为它只允许字符串值,因此您可能需要在存储它们之前对其进行字符串化:
var config = {
foo: 'foo',
bar: 'bar'
}
// Store:
localStorage.setItem('config', JSON.stringify(config));
// Get
JSON.parse(localStorage.getItem('config'));