如何在所有反应组件之间共享数据对象?

时间:2018-07-03 15:48:10

标签: javascript reactjs react-dom

我正在从wordpress提取数据并将其存储在数据对象中。如何在React中的所有组件之间共享该数据对象?

谢谢

3 个答案:

答案 0 :(得分:0)

您可以使用助焊剂模式在所有组件之间共享数据。 React是一个库,而不是一个框架。您必须自己构建环境模式。最常见的方法是将“ redux”与“ redux-thunk”或“ redux-saga”一起使用。

检查Redux->(https://redux.js.org/

答案 1 :(得分:0)

到达Redux: https://redux.js.org/

将对象存储在Redux存储中。

将您的根App组件包装在Redux Provider中,如下所示:

<Provider store={store}>
    <App />
</Provider

然后,如果您使用Redux connect(),则数据可用于任何组件,就像这样:

class MyCless extends React.Component {
  ...
}

export default connect()(MyClass)

我还知道Redux Thunk(https://github.com/reduxjs/redux-thunk)用于将提取/ ajax请求与Redux结合在一起。

答案 2 :(得分:0)

根据您的应用程序的复杂程度,Redux / MobX / Context等可能会过大。 React的标准状态/属性可能会满足您的需求。

将数据存储在父组件的状态下,然后在必要时作为道具向下传递到子组件。

https://reactjs.org/docs/components-and-props.html
https://reactjs.org/docs/state-and-lifecycle.html