在 Redux 中处理数据传递的正确方法是啥

Posted

技术标签:

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

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

我看到了一些方法。

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

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

方法一:

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

方法二:

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

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

【问题讨论】:

【参考方案1】:

使用redux-toolkit。

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

不再需要mapDispatchToProps

【讨论】:

"不再需要mapDispatchToProps。"如果您仍然更喜欢设计您的展示组件以接受来自任何源的数据(作为道具),那么它们与状态管理/实现完全分离。

以上是关于在 Redux 中处理数据传递的正确方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

两个质数相乘的积一定是啥数

将firebase与redux-sagas连接的正确方法是啥?

Redux-thunk 异步请求处理 onSuccess 和 onError 的最佳方法是啥?

在 react redux 中处理 fetch 错误的最佳方法是啥?

通过根组件中的 React Context 传递 Redux 存储是不是正确?

将数据从 Windows 挂钩传递到另一个进程的最佳方法是啥?