【发布时间】:2021-09-04 21:47:22
【问题描述】:
我有这个组件,它工作正常,但只有一次。如果我重新加载,我有一个未定义的错误。
我的组件:
import { UidContext } from "../components/AppContext"
import React, { useContext, useEffect, useState } from "react"
import axios from "axios"
export default function Balance() {
const uid = useContext(UidContext)
const [userWallet, setUserWallet] = useState(null)
useEffect(() => {
if (uid !== null) {
axios.get(`${process.env.REACT_APP_API_URL}api/balance/${uid}`)
.then((res) => setUserWallet(res.data[0]))
}
}, [uid])
return (
<section>
{userWallet.salaire1}
</section>
)
}
第一次加载的结果: userWallet result
然后,我有这个错误:
TypeError: Cannot read property 'salaire1' of null
为什么 console.log 可以工作,而不是在 JSX 中?
谢谢
【问题讨论】:
-
你必须检查用户钱包是否被获取然后渲染它
-
我猜重新加载时uid是空白的?检查 console.log()
-
@GündoğduYakıcı 如果我记录 uid,我会在重新加载时得到一个 null 和 2 个 uid
-
@AliNajafi 如果我记录数据,则获取很好。我得到数据
-
最简单的方法是添加问号 op
{userWallet?.salaire1}
标签: javascript reactjs api react-redux react-hooks