React.js:将整个状态同步到localStorage

时间:2014-02-12 22:59:36

标签: javascript local-storage storage reactjs

我想将我的应用状态存储在localStorage中。是否有回调或事件触发状态变化?我会用它来拨打localStorage.state = JSON.stringify(this.state)。可能,使用0.5秒限制。

TodoMVC React examples使用localStorage作为存储。但是,它定义了keydownclick等事件处理程序中的保存和删除。对于我的情况,做同样的事情会产生很多样板。

1 个答案:

答案 0 :(得分:26)

componentDidUpdate生命周期方法中,您可以序列化状态:

componentDidUpdate: function(prevProps, prevState) {
    localStorage.state = JSON.stringify(this.state);
}

每次组件重新呈现时都会运行该代码(每次道具或状态更改都会发生这种情况)。