react-redux扮演的角色

为什么需要react-redux提供的connect函数呢?redux的store作为一个可以全局可引用的对象,完全可以不依赖react-redux啊,只需要把store独立出来,在需要的地方直接import进来即可。

在经过一段时间的思考之后,终于明白一个道理,react组件是一个纯粹自我封闭的组件,数据流是单向的,这一点非常重要,如何决定数据流单向呢?完全依靠props的传递,也就是说如果在组件内引用store,通过getState来获取数据,就会造成数据来源不清晰的状况。因此,为了避免这种数据流混乱的局面,有必要在组件实例化时,将store中的数据绑定到组件的某个props上。connect函数就是做这样一件事,它把store中的state转化为组件的props,传递给组件,对于组件开发者而言,如果不考虑自己已经理解这套机理,那么只要遵循一个原则:但凡组件本身无法直接获取的数据,都通过props获取。另外一位开发者则可以在拿到这个组件之后,用connect函数对它进行包装,保证这些props是有值的。

由此可见,在react中,把握组件开发的核心思想非常重要。