2017-02-07 5 views
1

을 할 수 있도록 생성자의 기능을 결합하는 방법은 다음과 같은 기능을 가지고 : 위해내 반작용 구성 요소에서 매개 변수에

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가 기능하지 않기 때문에 나는 오류를 this.state is not a function

답변

3

그게 전부를 얻을. this.setState({opts: opts}) 함수가 인수를 사용하는 경우에도 동일한 바인딩 메서드를 사용합니다. .bind(this)은 해당 메소드 인스턴스가 this 인 경우 해당 구성 요소 인스턴스로 범위가 지정됩니다.

+0

OMG, 나는 그것을 잡지 못했다고 믿을 수 없다! 감사! – ElenaDBA

관련 문제