redux里面connect这两种写法的区别在哪里?

一种是对最外层组件进行connect,获取到state和action后再通过props一层层的往下传。
另一种是子组件里面需要哪个state,就对这个组件connect,而不是从父组件传过来。
请问一下,这两种写法有什么区别呢?第一种感觉在组件嵌套深的时候传props会很头疼

阅读 3.3k
1 个回答

楼主说的情况并不能称为redux的connect的两种写法,connect真正连接的是容器型组件,容器型组件主要关注业务逻辑的处理,比如从服务器拉取数据,进行数据校验等,容器组件处理好的数据再通过props传递给需要使用的展示型组件,展示型组件是关注界面渲染的组件。一个应用(或页面)中可以有多个容器型组件,这取决于你的业务逻辑复杂程度,一般最外层的组件是会做为一个容器组件进行connect(但这不是必须),当你层级较低的组件中有较多业务逻辑需要处理时,往往也会在它的上一层封装一个容器组件专门处理这些逻辑,这时这个组件也是会被connect的。

楼主说的两种connect方式并不是对立的,而是会结合使用的。更多关于容器组件和展示组件的内容,可以参考我写的这篇文章:https://segmentfault.com/a/11...

推荐问题
宣传栏