UseEfffect:无法读取属性

盛丰|

我试图从mongodb获取数据并显示在表上。我正在使用useEffect调用get函数。但是有时会弹出一个错误,提示无法读取“ details.user._id”,但有时它可以显示数据。有人可以帮忙吗?还是有一个干净的方法吗?任何提示和帮助都非常感谢!

我的使用效果:

useEffect(() => {
    getProfile();
    getUser();
}, [getUser(), getProfile()])

以下是我想要获取的数据&& getProfile返回此信息:

在此处输入图片说明

下面是一个表:

  const render_userProfile = (details, index) => {
    return (
        <tr key={index}>
            <td>{details.user._id}</td>
            <td>{details.user.fullName}</td>
            <td>{details.user.email}</td>
            <td>{details.icNumber}</td>
            <td>{details.phoneNumber}</td>
            <td>{details.dob}</td>
            <td>{details.gender}</td>
            <td>{details.address1 + " " + details.address2 + " " + details.city + " " + details.state + " " + details.zip}</td>

            <td>{details.date}</td>

        </tr>
    )
}
拉吉夫

之所以发生这种情况,是因为在Inact渲染中,当react开始渲染时,details状态为空且没有_id任何属性,因此会引发错误。useEffect在初始渲染之后运行。所以您的数据来晚了。因此,请使用条件重做。

const render_userProfile = (details, index) => {
    return (
        <tr key={index}>
          <tr key={index}>
          {
            Object.keys(details).length ? 
            <React.Fragment>
          
              <td>{details.user._id}</td>
              <td>{details.user.fullName}</td>
              <td>{details.user.email}</td>
              <td>{details.icNumber}</td>
              <td>{details.phoneNumber}</td>
              <td>{details.dob}</td>
              <td>{details.gender}</td>
              <td>{details.address1 + " " + details.address2 + " " + details.city + " " + details.state + " " + details.zip}</td>
              <td>{details.date}</td>
            </React.Fragment>
            :
            <td>Loading...</td>
          }
        </tr>
    )
}

这里的数据只有在细节中包含一些对象的情况下才会呈现,否则它将呈现 loading...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法读取null的属性'$$ nextSibling'

来自分类Dev

无法读取null的属性推送

来自分类Dev

无法读取数组的属性

来自分类Dev

无法读取null的属性* 0 *

来自分类Dev

TypeError无法正确读取属性

来自分类Dev

无法读取属性

来自分类Dev

无法读取null的属性“ getElementsByTagName”

来自分类Dev

无法读取属性“值”

来自分类Dev

无法读取null的属性“ contentDocument”

来自分类Dev

无法读取Null的属性样式

来自分类Dev

Extjs无法读取属性错误

来自分类Dev

无法读取null的属性“ getElementsByTagName”

来自分类Dev

无法读取null的属性“密码”

来自分类Dev

无法读取null的属性“ _currentElement”

来自分类Dev

无法读取null的属性“ getHostNode”

来自分类Dev

ngTable:无法读取属性“页面”?

来自分类Dev

无法读取null的属性“ removeClass”

来自分类Dev

无法读取null的属性“”

来自分类Dev

无法读取null的属性“角色”

来自分类Dev

TypeError:无法读取null属性

来自分类Dev

无法读取null的属性“ insertRow”

来自分类Dev

无法读取null的属性“ addRole”

来自分类Dev

无法读取Maven属性

来自分类Dev

无法读取 NULL 的属性

来自分类Dev

无法从 undefined 读取属性

来自分类Dev

无法读取 AJAX 的属性

来自分类Dev

无法读取 null 的属性 ____

来自分类Dev

无法读取属性 addeventlistener

来自分类Dev

无法读取属性“toLowerCase”