簡體   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