当我试图从mongodb映射对象数组时,我面对的是map is not a function error。
并且console.log以字符串格式返回正确的数据。请帮我讲讲怎么做。谢谢
const [printz, setPrintz] = useState([ ])
const getOrder = async() =>{
try {
const res = await axios.get("/products/receipt/all")
setPrintz(res.data)
} catch (error) {
console.log(error);
}
}
useEffect(()=>{
getOrder()
}, [ getOrder])
console.log({DbDatas: printz}) // return the correct data
{printz && printz.map(x =>(
<tbody >
<tr>
<td>{x.product}</td>
<td>{x.price}</td>
</tr>
</tbody>
)) }
</table>bellow是mongodb的屏幕截图

..。

我认为问题出在后端
router.get('/receipt/all', async (req, res) => {
try {
const getprint = await Prints.find()
res.status(200).json( getprint +'Succes!')
} catch (error) {
res.status(500).json(`Error fetching data!!! ${error}`)
}
})发布于 2021-09-21 14:17:09
目前它是字符串格式。您应该使用JSON.parse()来解析它。在本例中
JSON.parse(printz).map()https://stackoverflow.com/questions/69270408
复制相似问题