哪些组件可与React Redux连接

时间:2018-10-26 11:35:16

标签: reactjs redux

我是新来的人,我想学习有关redux的知识。

我有一个简单的演示应用程序,用户应在其中登录。登录后,他可以查看电影列表,可以单击单个电影以查看详细信息,评论,演员等。并且可以将电影添加到购物篮。这是一个包含一些组件的简单应用程序。

我应该连接哪个组件到Redux? 我已经看到人们将每一个组成部分都联系在一起(在我的示例中,这意味着我应该为获取电影评论和演员列表的组件编写动作,减少操作等),但是这对我来说是错的。是否将用户数据和电影作为全局数据添加到了购物篮中,并且只有需要该数据的组件才应该连接到Redux?

我错了吗?我应该将所有内容都与redux连接吗?

谢谢

2 个答案:

答案 0 :(得分:1)

仅连接那些需要从存储中获取数据的组件。

组件将通过更改道具来产生重新渲染。不需要存储中数据的组件无需更新。

答案 1 :(得分:1)

我想,您读过Dan Abramov's super-famous post about dumb/presentational and stateful/container components。基本上,哑巴根本不需要连接到redux。

至于有状态者...这取决于。如果某些数据属于组件本身的状态并且不需要与任何其他组件共享,则不要将其与Redux连接。否则,如果多个组件之间共享某种状态,请对这些数据使用Redux存储。

例如,如果您正在写博客,并且在多个组件之间共享用户的照片,请在Redux商店中包含它。但是,如果仅在一个组件中加载和显示用户简历,请使其保持该组件的状态,并通过fetch()中的componentDidMount()调用来加载它。

但是请记住,稍后,当您的项目扩展时,您可能也希望与其他组件共享此数据,因此可能需要进行一些重构,并且您的状态有时会逐渐从组件的状态转移到Redux就像大多数基因一样,它们可以从线粒体基因组逐渐转移到细胞核。