我有一个 React.js 组件,我想定义一个像这样的更高阶方法 -
updater: function (path) {
return function (value) {
this.setState(this.modules.setter.set(this.state, path, value))
}
}
其中 this.modules.setter.set
返回状态的更新版本,其中新的值
位于指定的路径
上。
这是希望能够定义这样的方法 -
updateUserStreet: this.updater('user.address.street')
我在创建所需的 this.modules.setter.set
方面没有问题,但是一般来说,我在使用高阶方法时遇到了麻烦。
控制台告诉我 this.updater 不是一个函数
有什么想法吗?
最佳答案
在React组件的.getInitialState
方法中定义updateUserStreet
,如下所示
getInitialState: function () {
this.updateUserStreet = this.updater('user.address.street');
return {...}
}
updateUserStreet
方法现在可以在 React 组件上定义的任何其他方法中使用
关于javascript - React中的高阶方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33900207/