redux
redux
源码实现
function createStore (reducer) {
var state
var listeners = []
var getState = () => state
var dispatch = (action) => {
state = reducer(state, action)
listeners.forEach(l => l())
}
var subscribe = (listener) => {
listeners.push(listener)
}
dispatch()
return {
getState,
dispatch,
subscribe,
}
}
function combineReducers (reducers) {
return function (state = {}, action = {}) {
let newState = {}
for (var key in reducers) {
newState[key] = reducers[key](state[key], action)
}
return newState
}
}异步中间件原理
mobx
redux与mobx区别
Last updated