反应使用输入谷搜索API

时间:2018-11-20 16:48:20

标签: reactjs

在这里反应新手...我正在设法解决这个问题...我正在尝试使用bandsintown API搜索band,然后显示结果。我很难输入输入的乐队名称,然后将其用作获取到bansintown API的一部分。看来事情正在重新渲染或未按照正确的顺序渲染,等等。我尝试将要获取的调用放在componentDidMount中,但是在设置“ band”状态之前就渲染了...请帮助...这是一个我的代码段:

AssociatedObject

非常感谢!

2 个答案:

答案 0 :(得分:0)

您需要像这样通过输入的onChange事件传递事件:

handleChange = (e) => {
  this.setState({
    band: e.currentTarget.value
  });
  // console.log("state", this.state); This will have unexpected results. Try to investigate why.
};

也删除对componentDidMount中的handleChange的调用

答案 1 :(得分:0)

您实际上在构造函数中缺少此绑定功能。

constructor(props) {
    super(props);
    this.getBand = this.getBand.bind(this);
    this.state = {
      band: "",
      events: []
    };
  }

以下是该示例:https://stackblitz.com/edit/react-hfkqaw?file=index.js

这是来自反应

  

您必须小心JSX回调中的含义。在   JavaScript,默认情况下不绑定类方法。如果你忘记了   绑定this.handleClick并将其传递给onClick,这将是未定义的   实际调用该函数的时间。

此处完整阅读:https://reactjs.org/docs/handling-events.html