componentWillMount() {
//state declaration
this.state = {
profile: 'c'
}
//changing state
axios.get('http://15.166.45.231:8080/notifications?
user_email=anurag@anurag.com')
.then(response => this.setState({
profile: 'Changed' , function () {
console.warn(this.state.weather);
}
}))
.catch(function (error) {
console.log(error);
});
输出
c
相反,我甚至试图明确尝试将数据指定为已更改,但徒劳无功。
componentWillMount() {
//state declaration
this.state = {
profile: {}
}
//changing state
axios.get('http://15.166.45.231:8080/notifications?
user_email=anurag@anurag.com')
.then(response => this.setState({
profile: response.data , function () {
console.warn(this.state.weather);
}
}))
.catch(function (error) {
console.log(error);
});
数据是返回响应的属性。(返回的内容之一就像标题等)。
示例json数据:
[{"date": "2017-03-25 05:43:01.362975+00:00", "from": "anurag", "status": "Pending", "type": "1", "to": null}, {"date": "2017-03-25 06:00:46.736505+00:00", "from": "anurag", "status": "Pending", "type": "2", "to": null}]
答案 0 :(得分:0)
setState中的回调方法不正确。它应该是:
axios.get('http://15.166.45.231:8080/notifications?
user_email=anurag@anurag.com')
.then(response =>
this.setState({ profile: response.data},()=> {
console.warn(this.state.weather);
}))
.catch(function (error) {
console.log(error);
});
答案 1 :(得分:0)
//changing state
axios.get('http://15.166.45.231:8080/notifications?
user_email=anurag@anurag.com')
.then(response => this.setState({
profile: response.data , function () {
console.warn(this.state.weather);
}
}))
.catch(function (error) {
console.log(error);
});
这是你的代码。它有一个非常简单的问题。
There are 2 forms of setState -
1. setState(obj, function callBackAfterStateUpdation)
2. setState(function(previousState, propsWhenStateIsUpdated), function callBackAfterStateUpdation)
其中第二个参数在两种形式中都是可选的。
您正在使用第一个表单,该表单接受表示当前状态的对象,并在设置状态后执行回调。
response => this.setState({
profile: response.data , function () {
console.warn(this.state.weather);
}
})
这是您的代码出了什么问题。它应该是
response => this.setState({ profile: response.data }, function () {
console.warn(this.state.weather);
})
此外,最好保持代码的一致性。您正在使用 - function(){} - 在某些地方,而胖箭头函数 - ()=> {} - 在其他人。选择其中之一,但坚持下去。