有点没太懂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。 


1
1
慕粉3727899
感谢大神回复
2018-03-23
共1条回复

双越

2018-03-22

cooloolong 同学回答的非常好!

0
1
cooloolong
谢谢老师鼓励,期待更多好课程~
2018-03-26
共1条回复

React高级实战 打造大众点评Web App

已经对React Router4与Webpack2进行了项目升级

1711 学习 · 707 问题

查看课程