源码学习 - 总概览

一、redux(v4.0.5)源码查看

  • combineReducers:将所有的单个reducer整合为一个reducer(即combination),里面返回所有的reducer的state健值对。后面当dispatch(action)时,在createStore里面会用到,来获取所有的state树。
  • createStore:通过传入的参数(reducer, preloadedState, enhancer)的有无,执行相应的代码,如果后面两个参数都为undefined,则就返回getStatedispatch方法,一般用法为createStore(reducer, applyMiddleware(m1, m2, m3, ...)),现在看来createStore和applyMiddleware返回的值其实是一样的,传入reducer只不过是为了dispatch的时候用到而已;如果没用到middleware,那就直接进入reducer更新数据。
  • compose:返回一个组合函数(链式调用),主要在applyMiddleware里用到了。
  • applyMiddleware:增强store,改变dispatch的指向,使dispatch(action)时会一层一层进入middleware,走完所有的middleware,同时这也是将middleware和reducer联系起来的一个聪明的方式。
  • bindActionCreators:总体来说就是用来简化mapDispatchToProps这个方法的。

二、redux-thunk(v2.3.0)源码查看

二、react-redux(v7.2.0)源码查看

  • Provider:将store绑定在最顶层组件上,利用context使子组件也能获取并使用store的数据。
  • connect:将store树的数据和action都放在组件的props里,后面使用的时候直接调用this.props.xxx即可。

三、mobx源码查看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。