在这里反应新手...我正在设法解决这个问题...我正在尝试使用bandsintown API搜索band,然后显示结果。我很难输入输入的乐队名称,然后将其用作获取到bansintown API的一部分。看来事情正在重新渲染或未按照正确的顺序渲染,等等。我尝试将要获取的调用放在componentDidMount中,但是在设置“ band”状态之前就渲染了...请帮助...这是一个我的代码段:
AssociatedObject
非常感谢!
答案 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,这将是未定义的 实际调用该函数的时间。