Reactjs将状态变量赋值给函数输出(未定义)

时间:2016-10-11 13:04:06

标签: function api variables reactjs state

使用ReactJS,我有一个命中天气API并返回数据的函数。 我正在尝试分配' this.state.results'到函数的输出,但它没有被分配,console.log(this.state.results)返回' undefined'

这是功能:

  searchCity: function(){
    jsonp('https://autocomplete.wunderground.com/aq?query=lond', { param: 'cb' }, function (err, data) {
        return (data.RESULTS);
    })
  }

这是调用函数并分配'结果的函数。变量到输出。我已经包含了initialState函数,仅供参考。

  getInitialState: function() {
    return {
      value: "",
      results: "hello"
    }
  },
  searchAPI: function(){
    this.setState({results: apiHelpers.searchCity()})
  }

然而'结果'没有被分配。 任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

您需要return来自函数searchCity()的内容。

试试这个:

searchCity: function(){
    return jsonp('https://autocomplete.wunderground.com/aq?query=lond', { param: 'cb' }, function (err, data) {
        return (data.RESULTS);
    })
  }