當我嘗試使用 React 從 moongoose 回傳資料時,它只使用 a 顯示一個空陣列useEffect,當我在頁面內更改某些內容時它回傳資料,當我嘗試映射資料時,它什么也不顯示:
服務器端:
const mongoose = require('mongoose');
const Partner = new mongoose.Schema({
name: { type: String },
website: { type: String },
},
{ collection: 'partner-data' }
);
const partnerModal = mongoose.model('partner-data', Partner);
module.exports = partnerModal;
app.get('/getpar', (req, res) => {
Partner.find().then(result => res.send(result)).catch(err => console.log(err))
})
客戶端 :
const [par, setPar] = useState([]);
useEffect(() => {
async function getPartners() {
const req = await axios.get("http://localhost:1200/getpar");
setPar(req.data);
console.log(par);
}
getPartners();
},[])
{par.map(p => {p.name})}
服務器端作業正常,當我回憶它時它會顯示資料,但是當我在客戶端內部控制臺登錄時它顯示一個空陣列并且它不顯示任何資料。
uj5u.com熱心網友回復:
在 React 更新狀態之前,您正在“consol logging”,以確保您正在獲取資料,請在以下位置執行此操作getPartners:
console.log(req.data);
在您的useEffect某個地方之外,請執行以下操作:
console.log(par);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/439213.html
上一篇:使用打字稿分配給物件欄位
