Javascript 为什么每次我刷新页面时app.js都会调用构造函数?
我是个新手,所以请容忍我 我正在将一个回调从App.js传递给一个子组件,然后子组件将信息发送回App.js,使用它设置App.js中的状态。但是,当我刷新页面时,App.js中的状态将恢复为其原始状态null。我意识到每次点击refresh时都会调用构造函数,所以更新的状态会被原始状态覆盖。为什么会发生这种情况,因为我认为构造函数只运行一次。如何解决此问题,以便即使导航到其他页面或刷新,更新的状态仍能保持Javascript 为什么每次我刷新页面时app.js都会调用构造函数?,javascript,reactjs,Javascript,Reactjs,我是个新手,所以请容忍我 我正在将一个回调从App.js传递给一个子组件,然后子组件将信息发送回App.js,使用它设置App.js中的状态。但是,当我刷新页面时,App.js中的状态将恢复为其原始状态null。我意识到每次点击refresh时都会调用构造函数,所以更新的状态会被原始状态覆盖。为什么会发生这种情况,因为我认为构造函数只运行一次。如何解决此问题,以便即使导航到其他页面或刷新,更新的状态仍能保持 干杯 HTTP是无状态的,因此每次刷新页面时,都会为每个组件调用构造函数来设置初始状态。
干杯 HTTP是无状态的,因此每次刷新页面时,都会为每个组件调用构造函数来设置初始状态。要在页面重新加载时保留信息,可以使用在浏览器中存储信息的。除非特别清除,否则本地存储会在页面会话中持续存在。会话存储一直持续到会话结束 要存储项目,请执行以下操作: 阅读项目: 要清除项目,请执行以下操作: 请注意,这些项存储为字符串,因此您应该将其他数据类型转换为字符串,如下所示:
//store object
localStorage.setItem('object', JSON.stringify(myObject));
//read object
let myObject = JSON.parse(localStorage.getItem('object'));
let data = localStorage.getItem('foo');
// remove item with key 'foo'
localStorage.removeItem('foo');
//remove all items
localStorage.clear();
//store object
localStorage.setItem('object', JSON.stringify(myObject));
//read object
let myObject = JSON.parse(localStorage.getItem('object'));