javascript - 为什么在每个文件中都定义了 mapStateToProps/mapDispatchToProps?

标签 javascript reactjs redux

人们似乎总是在他们需要的每个组件的底部定义这些函数,这是有原因的吗?

当我创建一个 react/redux 项目时,我将它们放在 /mappingFunctions 目录中,然后将它们导入到我需要它们的文件中,从而只声明一次函数。显然意味着函数包含的内容超出了必要的范围,但这意味着它们只在一个地方而不是定义它们一百万次。

只是想知道为什么这不是标准?

最佳答案

每个组件/容器可能需要从 redux 存储访问不同的变量集和不同的操作集。因此 mapStateToProps 和 mapDispatchToProps 是为所有需要与 Redux store 交互的组件单独定义的。

此外,您不需要为每个组件使用 mapStateToProps、maDispatchToProps。您可以在向下传递 props 或将每个组件连接到 Redux store 之间取得平衡。

检查 Use Connect or pass data as props to children了解更多详情

关于javascript - 为什么在每个文件中都定义了 mapStateToProps/mapDispatchToProps?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51301117/

相关文章:

javascript - 有什么方法可以沿着 Google Directions 路线前进 X 分钟?

Javascript - 函数,缺少参数

Javascript 字符串 match() 方法返回错误 "Uncaught TypeError: Cannot read property ' toString' of null"

javascript - 模态弹出窗口无法正常工作(希望背景页面变暗)

javascript - 模拟 store.getState()

reactjs - prop 更改时重新渲染 React 组件

javascript - 使用 HighChart 的简单折线图

javascript - Angular JS 中的堆叠条形图(高图表)

reactjs - 如何在刷新访问 token 时暂停和重新启动react-redux应用程序中的API调用?

react-native - 使用 Redux 工具包中的 createEntityAdapter 时如何将实体作为类组件中的数组获取?