2016-06-20 11 views
0

反応中のインラインクリックリスナーを削除する適切な方法は何ですか?反応中のインラインリスナーを削除する

var ClickComponent = React.createClass({ 
    render: function() { 
     return (<div onClick={this.onClickStuff} className="orange noselect"> 
     Click me {this.state.clicks || ''} 
     </div>); 
    }, 
    getInitialState: function() { 
     return { 
     clicks: 0 
     }; 
    }, 
    onClickStuff: function (e) { 
     this.setState({ 
     clicks: this.state.clicks + 1 
     }); 
     if(10 < this.state.clicks){ 
     // remove listener 
     } 
    } 
    }); 

答えて

0

onClickイベントせずにコンポーネントを再レンダリング:

var ClickComponent = React.createClass({ 
     render: function() { 
      return (<div onClick={10 < this.state.clicks?undefined:this.onClickStuff} className="orange noselect"> 
      Click me {this.state.clicks || ''} 
      </div>); 
     }, 
     getInitialState: function() { 
      return { 
       clicks: 0 
      }; 
     }, 
     onClickStuff: function (e) { 
      this.setState({ 
       clicks: this.state.clicks + 1 
      }); 
     } 
    }); 

onClick={10 < this.state.clicks?undefined:this.onClickStuff}

それは次のようになります

関連する問題