在 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 错误的最佳方法是啥?