问题描述
我想在 foreach 中更新我的状态,但是当我检查时,它只保留最后一个而不保留以前的数据。
import './App.css';
import Card from "./Card"
import Books from "./Books"
import { useEffect,useState } from 'react';
import axios from "axios"
import BooksInfo from './Books';
function App() {
const [bookInfo,setBookInfo] = useState([])
useEffect( ()=>{
let bname = ""
let bauthor = ""
let bcover = 0
async function getInfo(){
let results = Promise.all(BooksInfo.map(book=>{
let result = axios.get(`https://openlibrary.org/search.json?q=${book}`)
return result
}))
;(await results).forEach(result=>{
console.log(result)
bname= result.data.docs[0].title_suggest
bauthor= result.data.docs[0].author_name[0]
bcover= result.data.docs[0].cover_i
setBookInfo([...bookInfo,{ name:bname,author:bauthor,cover:bcover }]);
console.log(bookInfo)
})
}
getInfo()
},[])
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)