react 学习3 redux
万变不离其宗 记住这个数据流向图 就记住了redux
view发出一个action,action会通知store改变 store会自当触发reducer(计算),带 旧state和action 返回新的state给store 然后触发视图渲染
reducer是一个纯函数 要动态将其分模块 利于管理 ,分离后需要合并 combineReducers 在createStore的时候调用reducer计算
如果遇到异步的情况 因为在dispatch一个action的时候 会通知view改变 自动触发视图更新 但是一步结果此时并未返回 需等待结果返回的时候 再次dispatch 一个action 这个时候 就需要在action调用的时候 可以把dispacth方法传入
中间件的作用就是此 在action发出前后执行一些函数 修饰器模式了解下
我们需要数据管理的原因在于讲数据层和视图层剥离,变为无状态组件,中间则需要将数据层和视图层连接起来 这个就叫修饰符
其实就是包装的一层函数 将ui组件用修饰符包裹起来 可以取到state 发出action 这样于store联系起来
React-Redux 提供connect
方法,接受两个参数:mapStateToProps
和mapDispatchToProps,分别映射输入输出,state.getState(),state.dispatch()