作者:紫木之阁_229 | 来源:互联网 | 2023-09-16 15:37
exportletcreateStore(reducer){定义默认的stateletstate;定义默认的actionletactionTypes@@reduxINIT+M
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
}
}
【react】---手动封装一个简易版的redux---【韶华】