react+redux框架中使用react-redux前后组件获取值方式对比,以todolist为例。
使用react-redux前:1.创建仓库
2.配置好仓库使用的状态
3.配置修改状态的事件
const store = createStore(reducer, initialState)
组件想要及时获得更新后的数据,然后更新视图,需要引入仓库,用getState()方法获的仓库数据,然后使用subscribe订阅方法,在组件中监听数据的变化,
constructor(props) {
super(props);
this.state = {
list: store.getState().list,
status: store.getState().status
}
}
componentDidMount(){
store.subscribe(()=>{
console.log(store.getState().list);
this.setState({
list: store.getState().list,
});
})
}
使用react-redux 后:1.创建仓库
2.配置好仓库使用的状态
3.配置修改状态的事件
我们可以使用其为我们提供的provide和connect方法
通过用provide包裹需要用到仓库数据的组件,并将全局管理状态仓库设置给provide,就不要再分组