当前位置:  开发笔记 > 编程语言 > 正文

如何在没有mapDispatchToProps的情况下进行连接

如何解决《如何在没有mapDispatchToProps的情况下进行连接》经验,为你挑选了1个好方法。



1> Shubham Khat..:

connect()(AddTodo)dispatch作为一个prop to AddTodo组件传递,即使没有状态或预定义的操作,它仍然有用.多数民众赞成mapDispatchToProps在您的代码中不需要原因

现在,在您的组件let AddTodo = ({ dispatch }) => {中,您将对道具进行解构以仅访问dispatch.

如果您使用了mapDispatchToProps自己,则可以将您的addTodo操作作为组件的支柱使用,然后将其称为this.props.addTodo.所以上面的方法是另一种选择.这取决于你选择你觉得舒服的东西

connect只是store / dispatch通过React上下文,所以你不必通过许多组件传递商店.您不必使用连接.任何模块/ HOC模式都可以工作,连接恰好是一个方便的东西.

使用dispatch的组件或使用mapDispatchToProps是同一个东西.

但是,使用mapDispatchToProps可以更灵活地构建代码并将所有动作创建者放在一个位置.

根据文档:

[mapDispatchToProps(dispatch,[ownProps]):dispatchProps](对象或函数):

如果传递了一个对象,则其中的每个函数都被假定为Redux动作创建者.具有相同函数名称的对象,但每个动作创建者都包含在一个调度调用中,因此可以直接调用它们,它们将合并到组件的props中.

如果传递了一个函数,它将被赋予dispatch作为第一个参数.由您来返回一个以某种方式使用dispatch以您自己的方式绑定动作创建者的对象.(提示:您可以使用bindActionCreators()Redux 的帮助程序.)

如果你的mapDispatchToProps函数被声明为带两个参数,它将使用dispatch作为第一个参数调用,props将作为第二个参数传递给连接的组件,并且只要连接的组件接收到新的props,就会重新调用它.(第二个参数通常按惯例称为ownProps.)

如果您不提供自己的mapDispatchToProps函数或对象充满动作创建者,则默认mapDispatchToProps 实现只是将调度注入组件的props.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有