即使我可以从子进程中的 redux 获取它,将 prop 传递给子进程是否更好?

zio*_*ork 11 reactjs redux react-props

在我的反应应用程序中,假设我有一些父组件及其直接子组件都需要的数据。该应用程序使用 redux 进行状态管理。

现在,在子组件中,我可以使用useSelector并获取状态。但由于我已经在父级中获得了信息(如果重要的话,我也使用了useSelector),我只需将 props 传递给子级,例如<Child info={someInfo} />. 这是Child子组件,someInfo是我使用的状态信息useSelector

useSelector我的问题是,在这种情况下我应该传递 props 还是获取子组件中使用的数据。此外,传递 props 会比使用读取更快,useSelector反之亦然吗?

And*_*jeŭ 6

通过 props 传递数据使组件成为一个功能性的组件,或者至少更具功能性。这样的组件更容易维护、测试和重用。这也使其更少依赖于未来商店结构的变化。但是,正如我们生活中经常发生的那样,没有任何事情是唯一正确的方式。如果您的项目包含许多嵌套组件,则通过所有层一路向下传递数据将使代码变得混乱和复杂。

在我的实践中,我总是将 UI 组件(列表、编辑、网格、表格等)制作为纯功能组件,并在与业务逻辑相关的组件中使用它们,这些组件连接起来存储和执行副作用。


zer*_*298 0

我认为这可能有点基于意见。从 Flux Store 获取它意味着与 Store lib 存在硬耦合。如果传入 prop,则可以在另一个无存储的应用程序中重用该组件。我在制作的一些组件中经常遇到这种情况,并且倾向于传递 props。但同样,在某些组件永远不会被重用的情况下,它是有意义的。

  • 我懂了。其他地方的人提到初始化 useSelector 钩子比访问 props 需要更多时间。您能告诉我您对此的看法吗? (2认同)