问题标签 [mapdispatchtoprops]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
268526 浏览

reactjs - 什么是 mapDispatchToProps?

我正在阅读 Redux 库的文档,它有这个例子:

除了读取状态,容器组件还可以调度动作。以类似的方式,您可以定义一个调用的函数,该函数mapDispatchToProps()接收dispatch()方法并返回要注入到演示组件中的回调道具。

这实际上没有任何意义。为什么mapDispatchToProps你已经拥有了mapStateToProps

他们还提供了这个方便的代码示例:

这是什么功能,为什么有用?

0 投票
3 回答
34518 浏览

reactjs - mapStateToProps 与 mapDispatchToProps

react-redux 中函数的参数mapStateToPropsmapDispatchToProps参数有什么区别?connect

0 投票
0 回答
30 浏览

reactjs - React + Redux 将子组件方法绑定到父组件或保留它们自己

我们有一个 react redux 应用程序。我们有一个绑定到 redux 的父类

这是我们的父类:

现在你看我们有两个孩子。Children1 必须调度自己的方法,但不需要任何绑定到状态(没有 mapStateToProps)

我们的孩子1:

与我们拥有 child2 的方式相同,它也没有任何 mapstatetoprops,但必须调度自己的方法 child2RelatedFooMethodAction。

问题: 我们可以将 child1RelatedFooMethod 和 child2RelatedFooMethod 的调度移动到父组件,将这两个方法添加到父 mapDispatchToProps 列表中,如下所示:

修改了 Parent 的 mapDispatchToProps:

当然我们的 child1 和 2 应该呈现为

再次是父级的渲染方法:

我们完全删除了 Child1 和 Child2 组件中的连接导入 mapDispatchToProps 调用。因为我们之前没有mapstatetoprops,最近又搬了mapdispatchtoprops,所以在child1和child2中我们不需要再使用connect了。

考虑性能时哪个方面更好?累积父级中的 mapDispatchToProps 调用并保持子级简单而无需任何连接使用,或者子级应自行调度 mapDispatchToProps?

0 投票
1 回答
90 浏览

reactjs - React 中的 OnClick 事件在子组件中不起作用

我阅读了“Learning React”(Alex Banks 和 Eve Porcello)并尝试编写一个不像书中那样简单的颜色管理器应用程序。

目前我在 StarRating 组件中有这样的代码结构。

添加和删​​除减速器效果很好,但减速器不起作用。当我点击一个星号时,我需要 - 更改所选星星的值......但什么也没发生。

一些“颜色”减速器:

和“颜色”减速器:

所有代码都可以在这里找到 - https://codesandbox.io/s/color-organizer-react-62ubu?file=/redux/reducers/color.js

0 投票
11 回答
1063 浏览

reactjs - React & Redux:即使使用 mapStateToProps,组件的状态也不会更新

我在下面发布了一个答案,但如果有人能解释为什么这是必要的,你会得到赏金,我经历了一个 redux 教程,感觉我没有了解mapDispatchToProps, 只有mapStateToProps. 如果你能在更深层次上解释究竟是什么mapStateToPropsmapDispatchToProps正在做什么以及它们有何不同,我会给你赏金。


最小可重现示例


我有一个看起来像的 mapStateToProps 函数

在我的MyTab组件中,我有一个按钮,如果这两个字段没有输入任何内容,则该按钮应该是非活动的,但是按钮是否被禁用的状态不会改变

该警报语句在页面刷新时执行,但在我输入数据后不会执行任何时间。我已经检查了 redux 状态是否正在更新。但是按钮不会更新,并且 isDisabled 函数不会运行多次

0 投票
1 回答
39 浏览

reactjs - 我无法让 Redux 操作工作有一些我无法发现的错误请建议

我找不到我做错了什么,但action saveUser已导入并且mapDispatchToProps看起来链接action正确但我仍然收到此错误

在此处输入图像描述

(在此代码之后有action代码)

mapDispatchToProps正在链接,action saveUser如果我按住 CTRL 键单击它,VSCode 会像这样跳转到 Action:
那么为什么会出现错误“TypeError:saveUser is not a function”

在此处输入图像描述

在类 LinkAccounts.jsx 中有mapDispatchToProps.

这是文件 user.actions.js 中的操作:

0 投票
2 回答
808 浏览

reactjs - mapDispatchToProps 类型挑战(typescript react-redux)

我无法弄清楚我的 mapDispatchToProps 的类型。检查下面的 SignInComponent const mapDispatchToProps。看起来很简单,因为函数将 signIn() 作为参数,我可以从中获得类型。但是我无法弄清楚。

这是我的 autAction.ts:

这是我的登录组件:

0 投票
1 回答
41 浏览

reactjs - react-redux 当前道具值

我在页面上有三个按钮,当单击任何按钮时,我想从按 id 过滤的商店中获取所选值(在减速器中完成)。我正在尝试将 redux 与 mapStateToProps 和 mapDispatchToProps 模式一起使用,但看起来当我在单击任何按钮后尝试从商店访问当前选定的值时,它不会在控制台中反映正确的值。这不是如何使用“this.props.anyPropValue”吗?你能帮助澄清我的例子中有什么问题吗?第一次单击任何按钮时打印默认值,再次单击将打印先前单击的按钮值而不是当前值。

这是我为上面创建的简单应用程序的沙盒链接

代码的沙箱链接

0 投票
2 回答
28 浏览

reactjs - 关于 mapDispatchToProps 和 bindActionCreators 在 multipla 动作时的问题

我学习 React Redux 并在此处阅读有关使用mapDispatchToPropsbindActionCreators

bindActionCreators像这样单独使用它时效果很好:

但我有更多的行动并尝试了这个:

这会产生如下错误:

在此处输入图像描述

. 我如何将它们结合起来我阅读了文档,但我对此一无所知,请咨询

0 投票
2 回答
31 浏览

reactjs - 为什么 Redux 存储状态变量也是一个函数,或者我在这里错过了什么

我正在学习 React 和 JavaScript。

我有一个看起来非常简单的 Redux Store:

当我这样做mapStateToProps时,我Component没有得到 alog=''但我得到了别的东西。基本上我尝试做的就是if(log != "") 如图所示,但是true当我想得到一个时我得到一个,false因为初始商店是空的。

如图所示,logRedux store 还包含一个函数dispatch

在此处输入图像描述