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

标签 javascript reactjs

我是 React 新手,想要将新数据添加到数组状态中,但遇到错误:

Expected an assignment or function call and instead saw an expression

 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 对象

关于javascript - 尝试在 React 中将新元素添加到数组状态时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57967307/

相关文章:

javascript - 当 Flash 层放置在元素上时保持 CSS 动画

reactjs - 当元素处于内部条件时如何使用 useRef?

reactjs - 为什么不应该将 child 作为 Prop 传递?

reactjs - 如何在无状态 React 组件中单击按钮时获取输入值?

javascript - 将多个参数传递给 React 中的函数

javascript - JavaScript 数组中的字符串索引

JavaScript 负面回顾问题

javascript - Vue 取数据前的未定义数据

javascript - CRONTAB 执行 Python,使用 puppeteer 执行 Node 来进行网页抓取不起作用

reactjs - 如何在 React 组件中使用 @types/redux-form 定义的类型与 Field 和 FieldArray?