我想将我的应用状态存储在localStorage
中。是否有回调或事件触发状态变化?我会用它来拨打localStorage.state = JSON.stringify(this.state)
。可能,使用0.5秒限制。
TodoMVC React examples使用localStorage作为存储。但是,它定义了keydown
和click
等事件处理程序中的保存和删除。对于我的情况,做同样的事情会产生很多样板。
答案 0 :(得分:26)
在componentDidUpdate
生命周期方法中,您可以序列化状态:
componentDidUpdate: function(prevProps, prevState) {
localStorage.state = JSON.stringify(this.state);
}
每次组件重新呈现时都会运行该代码(每次道具或状态更改都会发生这种情况)。