如何在ReactJS中重新加载当前页面?如果是JavaScript,我们可以写window.location.reload();
如何在reactjs中做同样的事情?我可以通过UI添加新数据。但是没有刷新,我看不到列表。每当我要添加一些自身时间的数据时,我都想要。
onAddBucket() {
let self = this;
let getToken = localStorage.getItem('myToken');
var apiBaseUrl = "...";
let input = {
"name" : this.state.fields["bucket_name"]
}
axios.defaults.headers.common['Authorization'] = getToken;
axios.post(apiBaseUrl+'...',input)
.then(function (response) {
if(response.data.status == 200){
let result = self.state.buckets.concat(response.data.buckets)
}else{
alert(response.data.message);
}
})
.catch(function (error) {
console.log(error);
});
}
最佳答案
由于React最终可以归结为普通的旧JavaScript,因此您真的可以将其放置在任何地方!例如,您可以将其放在React类的componentDidMount()
上。
在进行编辑时,您可能需要尝试如下操作:
class Component extends React.Component {
constructor(props) {
super(props);
this.onAddBucket = this.onAddBucket.bind(this);
}
componentWillMount() {
this.setState({
buckets: {},
})
}
componentDidMount() {
this.onAddBucket();
}
onAddBucket() {
let self = this;
let getToken = localStorage.getItem('myToken');
var apiBaseUrl = "...";
let input = {
"name" : this.state.fields["bucket_name"]
}
axios.defaults.headers.common['Authorization'] = getToken;
axios.post(apiBaseUrl+'...',input)
.then(function (response) {
if (response.data.status == 200) {
this.setState({
buckets: this.state.buckets.concat(response.data.buckets),
});
} else {
alert(response.data.message);
}
})
.catch(function (error) {
console.log(error);
});
}
render() {
return (
{this.state.bucket}
);
}
}
关于javascript - 如何在ReactJS中重新加载当前页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47201919/