【问题标题】:What is the proper way to handle data passing in Redux在 Redux 中处理数据传递的正确方法是什么
【发布时间】:2021-02-10 04:03:37
【问题描述】:

我对 Redux 中的概念不熟悉,并且很简单:我想知道如何最好地将数据从父组件传递到子组件。

我看到了一些方法。

  1. 让 parent 成为一个容器,为 child 管理业务逻辑,并通过 props 传递适当的数据。
  2. 让孩子成为一个容器并连接到存储,这样数据就可以直接传递给孩子。
  3. 使用上下文。

以下是我所尝试的方法的优缺点。

方法一:

  • 父组件因处理多个子组件所需要的所有逻辑而变得臃肿,从而造成混乱的逻辑和变量命名。
  • 它与商店分离

方法二:

  • 所有逻辑都很好地包含在连接的组件中
  • 与 store 强耦合
  • 要查看 mapDispatchToProps 中的哪些 props 发生了变化,需要使用 hackish thunk。

我还没有真正尝试过上下文。我想知道 Redux 的做法是什么。就我个人而言,我更喜欢#2,但最后一个骗局对我来说是一个杀手。如果#3更好,请告诉我。感谢您的帮助。

【问题讨论】:

    标签: reactjs redux react-redux components


    【解决方案1】:

    使用redux-toolkit

    使用@reduxjs/toolkit 中的createSlice 创建您的商店、状态切片及其reducer,每个组件都可以使用react-redux 中的useSelector 访问商店中的必要数据。

    不再需要mapDispatchToProps

    【讨论】:

    • "不再需要mapDispatchToProps。"如果您仍然更喜欢设计您的展示组件以接受来自任何源的数据(作为道具),那么它们与状态管理/实现完全分离。
    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    相关资源
    最近更新 更多