【发布时间】:2020-12-25 05:23:26
【问题描述】:
React JS 组件:
这里我向后端发出请求以检索存储在 mysql 表中的一些数据。它将行作为对象数组返回。所以,我将它们存储在一个状态 favcoin 中。当我 console.log(favcoin) 时,它只显示我和这样的空数组 []。但是如果我console.log(response.data) 它会正确显示结果。
import Axios from 'axios'
import { useEffect,useState } from 'react'
const Favourite=()=> {
const [favcoin,setFavcoin]=useState([])
//Getting all the favorites
useEffect(() => {
Axios.post('http://localhost:9000/getFav',
{ userid : localStorage.getItem('userid') }
).then(
(response)=>{
setFavcoin(response.data)
console.log(favcoin)
}
)
}, [])
return (
)
}
export default Favourite;
这是我从反应组件连接到的后端代码(节点 js)
//Getting all Favorites of user
app.post('/getFav',(req,res)=>{
const user=req.body.userid;
db.query(`select * from favorite where userid=?;`,[user],(err,result)=>{
res.send(result);
})
})
我一无所知。我被困在这一点上。实际上,我之前已经在 API 的状态下存储了对象数组。但现在由于某种原因我不能。任何帮助表示赞赏。谢谢
【问题讨论】:
-
useState 设置器是异步的。在下一次渲染之前,您不会看到更新的值。
标签: javascript mysql node.js reactjs