Javascript 我得到了一个“答案”;TypeError:无法读取属性';用户名';“未定义”的定义;每当我尝试访问record.username时

Javascript 我得到了一个“答案”;TypeError:无法读取属性';用户名';“未定义”的定义;每当我尝试访问record.username时,javascript,reactjs,mern,Javascript,Reactjs,Mern,{record.userId.username}它说userId基本上没有uesrname,尽管我在其中引用了一个路由“USER”,它最初包含“username”: MAKECOMMENT函数: const makeComment = async (text,postId)=>{ await fetch('/posts/' + post._id + '/comment',{ method:"put", headers:{

{record.userId.username}
它说userId基本上没有uesrname,尽管我在其中引用了一个路由“USER”,它最初包含“username”: MAKECOMMENT函数:

const makeComment = async (text,postId)=>{
    await fetch('/posts/' + post._id + '/comment',{
        method:"put",
        headers:{
            "Content-Type":"application/json",
        },
        body:JSON.stringify({
            postId,
            text
        })
    }).then(res=>res.json())
    .then(result=>{
        console.log(result)
        const newData = data.map(item=>{
          if(item._id==result._id){
              return result
          }else{
              return item
          }
       })
      setData(newData)
    }).catch(err=>{
        console.log(err)
    })
}
我为diplay on应用程序添加javascript的部分。这就是问题似乎出现的地方(我用试错法找到了答案)<代码>{record.userId.username}它说userId基本上没有uesrname,尽管我在其中引用了一个路由“USER”,它最初包含“username”:

{
post.comments.map(记录=>{
返回(
{record.userId.username}{record.text}
)
})
}
{
e、 预防默认值()
makeComment(e.target[0]。值,post.\u id)
}}>

在显示变量之前,需要检查变量是否有值。 试试这个:

post ? post.comments.map(record=>{
              return(
                <h6 key={record._id} className="textInput"><span style={{fontWeight:"500"}}>{record.userId.username}</span> {record.text}</h6>
                )
              }) : <></>
post?post.comments.map(记录=>{
返回(
{record.userId.username}{record.text}
)
}) : 

如果您的变量有任何值,它将继续映射。

您的第二段代码没有开头
。确保您的代码正确添加基本验证:
记录?.userId?.username | |“-”
,那么它工作正常吗?它有div。只是这里没有提到它,抱歉。显示了相同的错误:(
post ? post.comments.map(record=>{
              return(
                <h6 key={record._id} className="textInput"><span style={{fontWeight:"500"}}>{record.userId.username}</span> {record.text}</h6>
                )
              }) : <></>