首页 > localStorage 保存数据,刷新浏览器之后数据就消失了

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 和 百度 上找了一圈没有找到答案,不知大家有没有遇到过这种情况,麻烦解答一下!


在componentDidMount的时候log一下get到的tasks,看看是不是空的


可能初始化的时候重置了,我用jquery写过一个todo,也用了localstorage,没出现这种问题


我猜测是你加载应用的时候错误把数据重置了,比如Storage里的逻辑,或者App的逻辑让应用每次启动都会把tasks设为空。

【热门文章】
【热门文章】