我是React的新手,想将新数据添加到数组状态,但是遇到错误:
期望了一个赋值或函数调用,而是看到了一个表达式
getTitle(title) {
axios
.get(
`http://api.openweathermap.org/data/2.5/forecast?q=${title}&APPID=7ad09d078633b652ecef8587a337639e&units=metric`
)
.then(res => {
// this.setState({ title: res.data.city });
this.setState(prevState => {
title: [...prevState.title, res.data.list]; //Here I get the error
});
});
}
答案 0 :(得分:2)
setState
需要返回一个代表新状态的对象。最快的解决方法是将该箭头函数的主体括在括号中:
this.setState(prevState => ({
title: [...prevState.title, res.data.list],
}));
现在它正在返回一个json对象
答案 1 :(得分:1)
我认为您忘了回来,试试这个:
this.setState(prevState => ({
title: [...prevState.title, res.data.list] //Here I get the error
}))