有点没太懂store.subscribe这个函数,还有老师为什么要写两遍这个函数呢?
来源:5-1 简单 demo
慕粉3727899
2018-03-22
写回答
2回答
-
cooloolong
2018-03-22
也在学习中,尝试回答一下:
store.subscribe(listener)方法用来添加一个变化监听器,每当 dispatch action 的时候就会执行listener这个回调函数。这是使用的发布-订阅设计模式,用来定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将得到通知。所以这里可以定义n个订阅者,老师写几遍都没问题,只是为了演示程序。
store.subscribe(listener)是一个底层 API,多数情况下你也不会直接使用它,在React-redux中已经封装好了。<Provider store> 使组件层级中的 connect() 方法都能够获得 Redux store,实现订阅。connect([mapStateToProps], [mapDispatchToProps]) 连接 React 组件与 Redux store,自然也就能实现官方demo中的store.getState拿到最新的state。
112018-03-23 -
双越
2018-03-22
cooloolong 同学回答的非常好!
012018-03-26
相似问题