在下面的代碼中,我嘗試使用 axios get request from await axios.get('/products/api')
is only working 我可以在控制臺中看到資料,但是對于await axios.get('/users/api')Undefined 正在控制臺上回傳,但是當我嘗試通過 Postman 獲取請求時,我可以得到結果。我卡在這里。
''' const [userdata, setuserdata] = useState([]); const [products, setproducts] = useState([]);
useEffect(() => {
const fetchUserData = async () => {
const { users } = await axios.get('/users/api')
setuserdata(users);
const { data } = await axios.get('/products/api')
setproducts(data);
}
fetchUserData();
}, []);
console.log(products)
console.log(userdata)
uj5u.com熱心網友回復:
將您的代碼更新為:
const users = await axios.get('/users/api')
setuserdata(users.data);
const products = await axios.get('/products/api')
setproducts(products.data);
uj5u.com熱心網友回復:
在你解構你的回應 console.log 回應之前。我的意思是嘗試:
const users = await axios.get('/users/api');
console.log(users)
可能是用戶不是默認 axios 資料物件的一部分。如果您仍然未定義,那么您需要仔細檢查您的 api 是否正在回傳回應(郵遞員)。
uj5u.com熱心網友回復:
相信你想做的是:
const [userdata, setUserData] = useState([])
const [products, setProducts] = useState([])
useEffect(() => {
const fetchUserData = async () => {
const users = await axios.get('/users/api')
setUserData([...userdata, users])
const data = await axios.get('/products/api')
setProducts([...products, data])
}
fetchUserData()
}, [userdata, products])
console.log(products)
console.log(userdata)
如果你只是使用[]on ,useEffect它只會在開始時運行一次,但每個記憶體 React 都會為productsand拋出警告userdata。
認為他們自己也能更好地作業useEffect。您甚至可以通過創建一個函式并將路徑傳遞給該函式來使您的代碼更簡潔。喜歡:
const getData = async (path) => await axios.get(`/${path}/api`)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/380252.html
標籤:javascript html 节点.js 反应 表达
上一篇:如何在快遞Js中獲取客戶的國家?
