忽略此文
Redux是什么?
Redux是Facebook提出一个数据状态管理的库,也可以说框架。它搭配React解决了组件之间通信问题,这个通信问题,是组件和其它组件之间也可以跨层通信,不需要一层一层的把,父组件的数据往下传递。这会增加代码复杂度和维护的复杂度。
如果使用React.createContext的API也可以实现跨层通信,你可以单独写一个模块去封装Context.Provider和Context.Consumer,只有在根组件使用Context.Provider后,需要共享Context上的数据的组件,都可以通过引入Context.Consumer组件去获取公共的数据。哪个组件需要顶层组件的数据,就必须引入Context.Consumer。
//context.js export default Context = createContext('')
//app.js let store = createStore(reducer) <Context.Provier value={store}> <App /> </Context.Provider>
import Context from './context.js' <Context.Consumer> {(data) => (<div>{data.time}</div>)}</Context.Consumer>