首页 > 解决方案 > 前端接收数据的差异

问题描述

我正在从后端获取数据,它工作正常,但是在前端接收到它时,_id 属性变为空。这是后端代码。当前可以在控制台(终端)中看到 _id 是正确的

export const getPosts=async(req,res)=>{
    try {
        const postMessages=await PostMessage.find()
        console.log(postMessages[0]._id);
        res.status(200).json(postMessages)
    } catch (error) {
    res.status(404).json({message:error.message})        
    }
}

在此处输入图像描述

但是在前端,该属性显示为 null 。奇怪的是在单独的控制台上记录单个项目的属性,它显示正确的值。这是屏幕截图。

const [state, dispatch] = useReducer(reducer, initialState)
  const getPosts=()=>{
      (async () => {
          dispatch({type:'LOADING'})
         try {
             const res = await fetch("http://localhost:5000/posts")
             const data = await res.json()
             console.log(data,data[0]._id);
             dispatch({type:'FETCH_ALL_POSTS',payload:data})
             
            } catch (error) {
             dispatch({type:'FETCH_ERROR',payload:error})
             
         }
    })()
      dispatch({type:'FETCH_ALL_POSTS'})
  }

在此处输入图像描述

标签: reactjsmongodbmongoosefetchfetch-api

解决方案


推荐阅读