0
我正在为用户创建表单构建器来创建问题。每个问题可以有无数的子问题,我想将数据保存到localStorage。双向数据绑定将窗体状态嵌套到React中的localStorage中
由于localStorage存储JSON,根据表单中每个问题/子问题的状态动态更新localStorage的最佳方法是什么?有没有办法采取反应单向数据流的原则,并使其状态与本地存储并行运行?
我正在为用户创建表单构建器来创建问题。每个问题可以有无数的子问题,我想将数据保存到localStorage。双向数据绑定将窗体状态嵌套到React中的localStorage中
由于localStorage存储JSON,根据表单中每个问题/子问题的状态动态更新localStorage的最佳方法是什么?有没有办法采取反应单向数据流的原则,并使其状态与本地存储并行运行?
我想你可以在容器级别的表单组件中定义一个状态变量,并且每当存在对表单的更新时调用localStorage.set('MY_QUESTIONS',questionsObj),以便localStorage对象与状态同步变量。使用的应用程序层上lodash的_.set方法,并把每个表单输入映射到它的路径密钥
handleQuestionsUpdate() {
this.setState({
formQuestions: newQuestions
},() => {
localStorage.setItem('MY_QUESTIONS', this.state.formQuestions)
});
}
我结束了:
例如,你可以把它在每一个状态变化的回调在树中的位置 – nzoLogic