在我的React组件中,我有以下功能:
removeOption(idx) {
var opts = this.state.opts;
opts.splice(idx,1);
this.state({opts: opts});
}
为了将它绑定到组件,我需要在构造函数中绑定它。通常我用
this.functionName = this.functionName(this);
但之前我只处理过没有参数的函数。
this.removeOption = this.removeOption.bind(this);
不起作用 - 我收到错误this.state is not a function
答案 0 :(得分:3)
多数民众赞成因为this.state
不是一个功能。您正在寻找this.setState({opts: opts})
即使函数接受参数,您也将使用相同的绑定方法。 .bind(this)
只是确保在调用该方法时this
的范围限定为该组件实例。