[关闭]
@2890594972 2019-06-02T18:59:04.000000Z 字数 1037 阅读 887

笔记-向军-redux应用演示

react redux


image.png-180.4kB

redux & react-redux

image.png-239.8kB

redux

image.png-89.7kB

按照redux , react-redux

action, reducer, store三个包

vuex

image.png-72.2kB

Provider根组件,注入数据数据源

  1. // 通过reactDOM渲染dom
  2. ReactDOM.render(
  3. <Provider store={store}>
  4. <HeaderBox></HeaderBox>
  5. <FatherComp></FatherComp>
  6. </Provider>
  7. , document.getElementById("app"));

需要使用redux数据源的组件,用connect函数连接

首先看下函数的签名:
connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])
connect() 接收四个参数,它们分别是 mapStateToProps,mapDispatchToProps,mergeProps和options。

描述ACTION

  1. // 语义化描述用户的行为
  2. // 定义一个更新总条数
  3. export const TYPE = {
  4. UPDATE_TOTAL:"UPDATE_TOTAL" //更新总条数
  5. }
  6. // 对外暴露一个接口
  7. export function updateItemTotal(num,name){
  8. return {
  9. type: TYPE.UPDATE_TOTAL,
  10. num: num,
  11. name: name
  12. }
  13. }

描述REDUCER

  1. // 定义初始化值
  2. const initialState = {
  3. num: 0
  4. }
  5. // 导出处理函数
  6. export default (state = initialState, action)=>{
  7. switch (action.type) {
  8. case "UPDATE_TOTAL":
  9. console.log(action.num);
  10. return {
  11. ...state,
  12. num: action.num,
  13. name: action.name
  14. }
  15. break;
  16. default:
  17. return state
  18. break;
  19. }
  20. }

描述store

  1. import {createStore} from "redux"
  2. import reducer from './../reducer/index'
  3. // 导出store数据
  4. export default ()=>createStore(reducer)

更多流程图

image.png-59.7kB

参考地址:
https://github.com/reduxjs/redux/issues/653

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注