• redux和react-redux的简单使用


    Redux

    数据池管理工具
    reducer(管理数据) action(执行动作) store(存储池)

    创建存储池(使用reducer)

    // 创建存储池
    import { createStore, compose, applyMiddleware } from 'redux';
    import thunk from 'redux-thunk';
    
    const store = createStore(
      rootReducers,  // reducer
      compose(
        applyMiddleware(...[thunk])  // 使用的中间件数组
      )
    );
    
    
    // 如果有多个reducer,使用combineReducers合并
    import { combineReducers } from 'redux';
    
    const rootReducers = combineReducers({
      reducer1: reducer1,
      reducer2: reducer2,
      reducer3: reducer3
    });
    
    

    store(存储池)

    // 执行动作
    store.dispatch({type: 'action', payload: '数据'})
    // 获取数据
    store.getState()
    

    reducer(数据管理器)

    // 执行动作的执行器,state为数据,action为执行的动作(disptch传过来的对象),函数必须返回state
    const (state, action) {/* */};
    const reducer = (state, action) => {
      switch(action.type) {
        ...
        default:
          return state;
      }
    }
    

    action(执行动作)

    const action = () => ({
      type: '',  // 在reducer中的case值
      ...otherParams
    })
    

    react-redux

    连接react和redux的工具
    connect(连接)

    import React from 'react';
    import { connect } from 'react-redux';
    
    class Component extends React.Component {
      constructor(props) {
        super(props)
        // 连接后props中就存在方法和数据
      }
    }
    
    const mapStateToProps = (state, ownProps) => {
      return { key: state.value };  // state为store中管理的数据
    }
    export default connect(mapStateToProps)(Component);
    
  • 相关阅读:
    梦和现实, 哪个更真实呢? 程序的现实? 还是上古的梦?
    C#基础知识总结(一)
    C#学习路线
    C# 成员默认访问权限(public、private、protected、internal)
    C#基础知识总结(二)
    正则表达式C#正则表达式的符号及例子
    Dynamics CRM 2016/365 窗体中添加按钮
    01 tsung安装
    07 tsung 参数化
    02 jmeter 简单发送http请求
  • 原文地址:https://www.cnblogs.com/zhangyahan/p/11115471.html
Copyright © 2020-2023  润新知