【问题标题】:Reactjs assigning state variable to output of function (undefined)Reactjs将状态变量分配给函数的输出(未定义)
【发布时间】:2017-02-20 00:49:04
【问题描述】:

使用 ReactJS,我有一个访问天气 API 并返回数据的函数。 我正在尝试将“this.state.results”分配给函数的输出,但是它没有被分配,并且 console.log(this.state.results) 返回“未定义”

函数如下:

  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()})
  }

但是没有分配“结果”。 任何帮助表示赞赏!

【问题讨论】:

  • searchCity 没有明确返回任何内容,因此默认情况下它返回undefined。这就是发生这种情况的原因。
  • 谢谢,我已经创建了一个变量并将其分配给 jsonp 的输出并使用它来代替

标签: function api variables reactjs state


【解决方案1】:

你需要return函数searchCity()中的一些东西。

试试这个:

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

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 2012-06-13
    相关资源
    最近更新 更多