redux和react-redux一起应用的总结图,点击放大可看清细节
总结:
在有多个内部组件的情况下,只需要在最外部的index入口文件处包裹Provider组件,传入store就行,其他的组件都会接收到store作为props,因为这是Provider利用了react的contexts属性,React官方文档,可以隐式的传给所有子孙组件props,不必再自己繁琐个每个去写,而且在props中看不见,是context属性,不是props
但是就算是传了store,也得为需要的组件进行connect包装,传入除了store之外的其他通信必要的属性,比如mapDispatchToProps,这样才可以进行通信,可以理解为,只需要在入口index包裹provider,其余要用到redux的,不用再包裹provider,但是需要包裹container,用connect进行处理即可
以下是草稿
参考
reducer函数的形参是state 和 action,注意顺序不能错,首次render页面的时候会运行reducer把state的形参默认值输出,这个时候action只有type属性,没有data属性,而且type属性也不是指定的类型,所以会走default,在default里面return state就可以了。