繁体   English   中英

尝试在React中将新元素添加到数组状态时出错

[英]Got an error when tried to add new element into array state in React

我是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
        });
      });
  }

setState需要返回一个表示新状态的对象。 最快的解决方法是将该箭头函数的主体括在括号中:

this.setState(prevState => ({
  title: [...prevState.title, res.data.list],
}));

现在它返回一个json对象

我认为您忘记了返回,请尝试以下操作:

this.setState(prevState => ({
    title: [...prevState.title, res.data.list] //Here I get the error
}))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM