开发者问题收集

无法调用 redux 操作(TypeError:无法读取未定义的属性 {action})

2019-01-14
1039

我试图从我的 dashboard 组件中调用redux操作,但是它无法识别操作。

当我将其放入 componentdidmount中时,它可以工作 方法,但在自定义 handleavatarchange 方法上不起作用。

dashboard.js

124658839

profileContent。 JS

551056193

错误

389382907
2个回答

您需要确保 handleAvatarChange 已正确绑定,因为它在内部使用 this ,并且您将它作为回调传递以供其他代码调用。

只需将 handleAvatarChange(avatar) { 更改为使用您已在其他地方使用的“类属性”语法: handleAvatarChange = (avatar) => {

markerikson
2019-01-14

在 Dashboard.js 中,将此行:

handleAvatarChange={this.handleAvatarChange}

更改为:

handleAvatarChange={this.handleAvatarChange.bind(this)}

如需更多数据,您可以阅读此文章: https://medium.com/@leonardobrunolima/javascript-tips-apply-vs-call-vs-bind-d738a9e8b4e1

kilzid
2019-01-15