zoukankan      html  css  js  c++  java
  • 【react】---手动封装一个简易版的redux

    复制代码
    export let createStore = (reducer)=>{
        //定义默认的state
        let state;
    
        //定义默认的action
        let actionTypes = "@@redux/INIT"+Math.random();
        let initAction = {type:actionTypes}
    
        //将所以需要监听的函数放在这个里面
        let listeners = []
    
        //定义getState函数
        let getState = ()=>state;
    
        //定义事件订阅函数
        let subscribe = (cb)=>{
            listeners.push(cb);
        }
    
        //定义事件派发函数 用来调用action
        let dispatch = (action=initAction)=>{
           
            //调用reducer获取新的state
            state = reducer(state,action);
    
            //遍历所以需要监听的函数
            listeners.map((cb)=>{
                cb();
            })
            
    
        }
        dispatch();
    
        return {
            getState,
            dispatch,
            subscribe
        }
    }
     
  • 相关阅读:
    Python学习笔记(三)
    Python学习笔记(二)
    GDUFE ACM1159
    GDUEFE ACM1003 练手
    GDUFE ACM1033
    GDUFE ACM1128
    GDUFE ACM1002
    EDUFE ACM1050
    GDUFE ACM1007
    GDUFE ACM1003
  • 原文地址:https://www.cnblogs.com/donve/p/10605099.html
Copyright © 2011-2022 走看看