gpt4 book ai didi

javascript - 单击一次按钮后如何获取 axios.post 信息

转载 作者:行者123 更新时间:2023-11-29 17:46:08 27 4
gpt4 key购买 nike

当我想通过单击按钮从 axios.post 获取信息时。但现在我想点击按钮两次来显示信息。我该怎么办?

class ButtonComponent extends React.Component {
state = {display:"ini"};
rep = "ini";

click() {
var self = this;
axios.post("url", {})
.then((rep) => {
self.rep = rep.data;
})
.catch((err) => {
self.rep = err;
})
this.setState({
display: this.rep
});
}
render() {
return (
<div>
<button onClick={this.click.bind(this)}> click me </button>
{this.state.display}
</div>
);
}
};

最佳答案

这不会显示您需要的值。因为当时您在点击方法中设置状态,您的 promise 没有得到解决。

你可以这样做。一旦用户点击按钮禁用按钮,直到 axios 发布完成。然后调用 setState 以便您可以在您的 div 中看到该数据。

class ButtonComponent extends React.Component {

constructor(props){
super(props);
this.state = {
data: '',
isLoading: false,
};
this.click = this.click.bind(this);
}

click() {

this.setState({ isLoading: true });

axios.post("<MY_URL>:3900/find/rapinfo", {})
.then((response) => {
this.setState({ data: response.data, isLoading: false });
})
.catch((err) => {
this.setState({ data: err, isLoading: false });
});
}

render() {
return (
<div>
<button onClick={this.click} disabled={this.state.isLoading}> click me </button>
{this.state.data}
</div>
);
}
}

关于javascript - 单击一次按钮后如何获取 axios.post 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49445911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com