今日总结3.8

135 阅读1分钟

今天又回头看了redux 和 react-redux的应用。对redux的数据模式有深入理解。

并纪录了5个问题,后续补上文中问题的源码

先说redux:

  1. 首选定义规则
        //规则函数就是实现了一个判断
        function counter(state = 0,action){     //es6模式传参数
            switch(action.type){
                case 'INCREMENT':
                    return state+1           //在这里函数返回的数据不影响state
                case 'DECREMENT':
                    return state-1          //
                default:
                    return state
            }
            
        }
    
    1. 根据规则生成store
        //这里有个问题,传的参数是counter函数,并取的counter函数 返回的数据
        //下面又是如何将数据传到store.getState()函数中的呢?为什么不通过store直接获取呢???
        let store = createStore(counter) 
    
    1. 监听数据(即state),变化后的派发规则
        // subscribe()在源码中是如何定义的???何时触发???
        store.subscribe(()=>{
            console.log('current state', store.getStore()) //这里是如何取到store中的数据???
        })
    
    1. 触发数据变化
    //在这里可以看到store不仅仅在第2步中定义规则函数返回的数据,
    //还定义了dispatch函数,dispatch函数在源码中是如何定义的???何时触发???
    store.dispatch({type:"INCREMENT"})
    store.dispatch({type:"DECREMENT"})