• redux的createStore


    function createStore(reducer,initialState){
        let state = initialState || undefined
        let listener = []
        function getState(){
            return state
        }
        function subscribe(cb){
            listener.push(cb)
            return function(){
                let index = listener.indexOf(cb)
                listener.splice(index,1)
            }
        }
        function dispatch(action){
            state = reducer(state,action)
            listener.forEach((cb)=>{
                cb()
            })
            return action
        }
        dispatch({type:'@redux'})
        return {
            getState,
            subscribe,
            dispatch
        }
    }
    
    function reducer(state,action){
        switch(action.type){
            case '1' :
                return 'bai'
            case '2' :
                return 'ming'
            default :
                return state || '^^__^^'
        }
    }
    let store = createStore(reducer,25)
    console.log(store.getState())
    function render(){
        console.log(store.getState())
    }
    let unsubscribe = store.subscribe(render)
    console.log(store.dispatch({type:'1'}))
    unsubscribe()
    console.log(store.dispatch({type:2}))
  • 相关阅读:
    集合
    第五天
    第四天
    第二天
    ieee 期刊缩写(转载)
    JAVA学习笔记03
    JAVA学习笔记2
    JAVA学习笔记01
    Latex 图片排版
    非奇异终端滑模
  • 原文地址:https://www.cnblogs.com/MDGE/p/14367394.html
Copyright © 2020-2023  润新知