【发布时间】:2022-01-13 18:27:23
【问题描述】:
我正在 React 中构建一个多步骤表单,我的目标之一是在用户尚未完成填写表单时保存他们的输入。我已经使用 setItem() 将用户的输入保存在浏览器的 localStorage 中。
输入字段设置本地状态,然后将其保存到 localStorage。
但是,当页面刷新时,我想从 localStorage 检索数据并从那里设置状态变量,以便使用保存的数据预填充输入字段(如果有意义的话)
我在 componentDidMount() 中使用 setState() 来执行此操作,尽管我认为这是在创建反模式并且我不完全确定那是什么。当我使用 UNSAFE_componentWillMount 时它工作正常,但我不想使用已弃用的生命周期方法。
这是我的代码:
componentDidMount() {
this.formData = JSON.parse(localStorage.getItem('form'));
this.setState({
type: this.formData.type,
subtype: this.formData.subtype,
brand: this.formData.brand
})
}
【问题讨论】:
标签: reactjs local-storage react-lifecycle