猿问

如何理解Redux中subscribe的作用

学习了Redux的基本使用自己总结了以下redux的过程
使用函数createStore创建store数据点
创建Reducer。它要改变的组件,它获取state和action,生成新的state
用subscribe监听每次修改情况
dispatch执行,reducer(currentState,action)处理当前dispatch后的传入的action.type并返回给currentState处理后的state,通过currentListeners.forEach(v=>v())执行监听函数,并最后返回当前action状态
但还是不理解subscribe在redux里面的作用,是观察store的变化么
exportfunctioncreateStore(reducer){
letcurrentState={}
letcurrentListeners=[]
functiongetState(){
returncurrentState
}
functionsubscribe(listener){
//传入函数
currentListeners.push(listener)
}
functiondispatch(action){
currentState=reducer(currentState,action)
currentListeners.forEach(v=>v())
returnaction
}
//触发初始状态
dispatch({type:'@TYRMARS/Mars-Redux'})
return{getState,subscribe,dispatch}
}
慕容3067478
浏览 1464回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答