如何将某些redux存储属性保存到磁盘?

时间:2016-02-03 02:19:46

标签: reactjs redux

在我的redux应用中,我有一些设置应该在更改时保存到磁盘(作为JSON文件)并加载应用程序(以填充商店的初始状态)。

我猜应用设置是状态,因此它们属于商店。然后,我有一些修改设置的操作,例如SETTINGS/CHANGE和有效负载{name:'settingName', value: 'settingvalue'}或细粒度SETTINGS/UNITS,有效负载'metric''imperial'

现在我需要一些拦截某些状态更改/操作提交的内容,并将它们作为序列化JSON保存到磁盘。这是settings reducer应该自己做的还是更好的某种中间件可以在后台执行这种异步?

在代码中会是什么样子?

1 个答案:

答案 0 :(得分:1)

krs说,您可以使用localStorage API。小心,因为它只允许字符串值,因此您可能需要在存储它们之前对其进行字符串化:

var config = {
    foo: 'foo',
    bar: 'bar'
}

// Store:
localStorage.setItem('config', JSON.stringify(config));

// Get
JSON.parse(localStorage.getItem('config'));