Javascript React中带有回调函数的故障

Javascript React中带有回调函数的故障,javascript,reactjs,Javascript,Reactjs,在我的一个React类中操作回调函数时遇到问题。基本上,我会在单击时调用checkSource,如果它满足特定的要求,我会调用handleSubmitClick。我感觉这与我调用此有关。handleSubmitClick,但我不明白。我的理解是,这个是指我创建的组件对象。如果是这样,它不应该调用该函数并执行吗 完整的组成部分如下: var React = require('react'); module.exports = React.createClass({ getInitialSta

在我的一个React类中操作回调函数时遇到问题。基本上,我会在单击时调用
checkSource
,如果它满足特定的要求,我会调用
handleSubmitClick
。我感觉这与我调用此有关。handleSubmitClick,但我不明白。我的理解是,
这个
是指我创建的组件对象。如果是这样,它不应该调用该函数并执行吗

完整的组成部分如下:

var React = require('react');

module.exports = React.createClass({
  getInitialState: function() {
    return {
      text: ''
    }
  },
  handleTextInput: function(event){
    this.setState({text: event.target.value})

  },
  checkSource: function(){
    var clientId = 'xxxx';
    var resolve = 'http://api.soundcloud.com/resolve?url=';
    $.get(resolve + this.state.text + '&client_id=' + clientId, function(data) {
      $.get('http://api.soundcloud.com/users/' + data.user.id + '/?client_id=' + clientId, function(data) {
        if(data.followers_count < 3000) {
          console.log("handleSubmitClick now");
          this.handleSubmitClick();
        } else {
          return false;
        }
      });
    });
  },
  handleSubmitClick: function() {
    console.log('handleSubmitClick going')
    console.log(this.state.text)
      var linkStore = this.props.linkStore
      linkStore.push(this.state.text)
      this.setState({text: ''})
      this.props.handleListSubmitClick(linkStore)
      console.log(this.props.linkStore)

  },
  render: function() {
    return <div className="row">
      <div className="col-md-8 col-md-offset-2">
        <div className="text-center">
          <h1>Soundcloud3k</h1>
        </div>
        <div className="input-group">
          <input
            onChange = {this.handleTextInput}
            type="text"
            className="form-control"
            placeholder="Search fr..."
            value={this.state.text} />
          <span className="input-group-btn">
            <button
              onClick={this.checkSource}
              className="btn btn-default"
              type="button">Submit!</button>
          </span>
        </div>
      </div>
    </div>
  }


});
var React=require('React');
module.exports=React.createClass({
getInitialState:函数(){
返回{
文本:“”
}
},
handleTextInput:函数(事件){
this.setState({text:event.target.value})
},
checkSource:function(){
var clientId='xxxx';
var解析http://api.soundcloud.com/resolve?url=';
$.get(resolve+this.state.text+'&client_id='+clientId,函数(数据){
$.get('http://api.soundcloud.com/users/“+data.user.id+”/?客户端_id=”+clientId,函数(数据){
如果(data.u计数<3000){
log(“handleSubmitClick now”);
这个.handleSubmitClick();
}否则{
返回false;
}
});
});
},
handleSubmitClick:函数(){
log('handleSubmitClick go')
console.log(this.state.text)
var linkStore=this.props.linkStore
linkStore.push(this.state.text)
this.setState({text:'})
此.props.handleListSubmitClick(链接商店)
console.log(this.props.linkStore)
},
render:function(){
返回
声云3K
提交
}
});
这是带有
checkSource
调用的渲染函数


checkSource
函数的控制台日志按预期工作,但我无法让
handleSubmitClick
执行任何操作。我没有在控制台中得到错误或任何东西。有什么想法吗?

$中。获取
回调
不引用您的组件,您应该为每个回调设置
。另外,ajax回调中的
返回false
没有意义,因此您可以删除它

checkSource: function(){
  var clientId = 'xxxx';
  var resolve = 'http://api.soundcloud.com/resolve?url=';

  $.get(resolve + this.state.text + '&client_id=' + clientId, function(data) {
    $.get('http://api.soundcloud.com/users/' + data.user.id + '/?client_id=' + clientId, function(data) {
      if(data.followers_count < 3000) {
        this.handleSubmitClick();
      }
    }.bind(this));
  }.bind(this));
},
checkSource:function(){
var clientId='xxxx';
var解析http://api.soundcloud.com/resolve?url=';
$.get(resolve+this.state.text+'&client_id='+clientId,函数(数据){
$.get('http://api.soundcloud.com/users/“+data.user.id+”/?客户端_id=”+clientId,函数(数据){
如果(data.u计数<3000){
这个.handleSubmitClick();
}
}.约束(这个);
}.约束(这个);
},