我正在阅读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