localStorage 保存数据,刷新浏览器之后数据就消失了
我在用 React 做一个 Todo list 的应用,想使用 window.localStorage 存储一些数据。当我按正常流程操作存储数据后,刷新页面数据就没有了,下面是部分代码:
var Storage = require('../lib/localstorage')()
var AppRoute = React.createClass({
getInitialState: function () {
return {
thisShowPop: false,
tasks: []
}
},
componentDidMount: function () {
var tasks = Storage.get('tasks') || []
this.setState({tasks: tasks})
},
addItem: function (name, desc) {
var tasks = this.state.tasks
var taskId = tasks[0] ? tasks[0].id + 1 : 1
var task = {...}
tasks.unshift(task)
this.setState({tasks: tasks})
Storage.set('tasks', tasks)
this.hidePop()
},
finishItem: function (id, thought) {
var tasks = this.state.tasks
var task = {...}
this.setState({tasks: tasks})
Storage.set('tasks', tasks)
}
})
存储数据时截图:
刷新浏览器后存储的数据消失:
去 Google 和 百度 上找了一圈没有找到答案,不知大家有没有遇到过这种情况,麻烦解答一下!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在componentDidMount的时候log一下get到的tasks,看看是不是空的
我猜测是你加载应用的时候错误把数据重置了,比如Storage里的逻辑,或者App的逻辑让应用每次启动都会把tasks设为空。
可能初始化的时候重置了,我用jquery写过一个todo,也用了localstorage,没出现这种问题