首先反应加载本地存储

时间:2016-02-18 09:18:19

标签: reactjs redux

我有一个反应应用程序,就像我Headers包含我的Footersstate ..

在那里我将localstorage['key']存储到本地存储..存储后我可以检索它..

但是我在加载它时遇到问题..在我的浏览器中{I} Root.js它给了我数据,但我无法加载。

我应该先把它装到哪里?

我有class Root extends Component { render() { const { store } = this.props return ( <Provider store={store}> <ReduxRouter /> </Provider> ) } } Root.propTypes = { store: PropTypes.object.isRequired } export default Root

index.js
外层的

const store = configureStore() render( <Root store={store} />, document.getElementById('root') )

localStorage

我应该在哪里加载localStorage

需要帮助。我需要知道响应中的第一个响应,以便我可以调用加载{{1}}那里..如果这不是坏主意

2 个答案:

答案 0 :(得分:1)

您正在使用redux,因此您应该将数据作为操作的结果来读取。

实现这项工作的最简单方法是:

  1. ReduxRouter下,应该有一个连接的组件。请参阅docs
  2. 在该已连接的组件中,添加componentDidMount以调用操作getStuffFromLocalstorage。请参阅React lifecycle events
  3. 在您的reducer中,从localStorage获取您想要的内容并填充状态
  4. 在你的reducer中做它可能是一个反模式,但它至少会使redux-flow流动。

答案 1 :(得分:0)

我建议从app.js文件中的componentDidMount方法获取本地存储数据。

请在此处找到官方参考: https://facebook.github.io/react/docs/component-specs.html#mounting-componentdidmount

如果要在卸载组件之前更新localStorage数据,可以使用方法componentWillUnmounthttps://facebook.github.io/react/docs/component-specs.html#unmounting-componentwillunmount