【问题标题】:Passing props to a component with local state vs state lifting vs redux - recommendation将 props 传递给具有本地状态、状态提升和 redux 的组件 - 推荐
【发布时间】:2019-07-11 13:51:51
【问题描述】:

我有两个组件,一个图表呈现单个加密货币对价格和一个订单簿。 两者都有本地状态。 我希望图表上加密货币对的更改触发订单簿上的更改 - 显示图表上选择的货币对的订单簿。 这意味着两个组件都需要在其状态下共享当前对。

我的问题:

我可以将带有加密货币对的道具传递给已经具有本地状态的订单簿组件吗? 以上是不可能的/可能的/违背反应哲学的还是会有什么问题? 我应该改为提升状态并将状态仅保留在图表组件的本地吗? 或者也许 redux 是最好的选择,我无法逃避?

【问题讨论】:

  • React 相信组合,因此提升状态是首选,如果要提升的状态也可以在其他地方使用或者是应用程序状态,那么它应该在 redux 存储中。更多信息here
  • 当工作涉及在 2 个或更多组件之间共享数据时,简单的答案是:redux。不要挖掘更多。
  • 谢谢你们。 Redux 在这里听起来很诱人,因为我有更多的组件并且其中一些需要类似的方法。

标签: reactjs redux state


【解决方案1】:

当您向子组件发送道具时,如果父组件中的数据发生更改,它将发送新数据,并且您的子组件将使用新数据重新渲染。此外,如果您使用 Redux,它们的行为也会相同。

我的建议是,如果仅在这些组件之间,您可以将其作为道具发送,这样就可以了。但是,如果这些数据也应该与其他组件共享,您可能需要使用 Redux。

【讨论】:

    猜你喜欢
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 2021-09-09
    • 2019-02-17
    相关资源
    最近更新 更多