我正在阅读Redux库的文档,其中包含以下示例:
除了读取状态之外,容器组件还可以调度动作。以类似的方式,您可以定义一个名为的函数
mapDispatchToProps()
,该函数接收该dispatch()
方法并返回要注入到演示组件中的回调道具。
这实际上是没有意义的。为什么mapDispatchToProps
已经需要时需要mapStateToProps
?
他们还提供了以下方便的代码示例:
const mapDispatchToProps = (dispatch) => {
return {
onTodoClick: (id) => {
dispatch(toggleTodo(id))
}
}
}
有人可以用外行的术语解释一下此功能是什么以及为什么有用吗?
mapStateToProps
接收state
和,props
并允许您从状态中提取道具以传递给组件。mapDispatchToProps
接收dispatch
和props
,用于绑定操作创建者以进行分派,因此当您执行结果函数时,将分派操作。我发现这仅使您不必
dispatch(actionCreator())
在组件中执行操作,从而使其更易于阅读。https://github.com/reactjs/react-redux/blob/master/docs/api.md#arguments