在我的反應應用程式中,在頁面加載時,我正在呼叫 API 并將該值存盤在狀態中。當我嘗試從該狀態創建 JSX 元素時,我收到錯誤訊息Cannot read properties of undefined (reading 'expire')。
const [domains, setDomains] = useState([]);
const [records, setRecords] = useState({});
useEffect(() => {
axios.get('zones/domains').then((res) => {
setDomains(res.data)
axios.get('zones/records', {
params: {
l_id: res.data[0].l_id
}
}).then((res) => {
setRecords(res.data)
});
});
}, [])
let table_str = <tr>
<td>SOA</td>
<td>{records.added.expire}</td>
<td>{records.added.value1} {records.added.value2}</td>
</tr>
uj5u.com熱心網友回復:
在 axios 呼叫之前,您的狀態為空。確保通過可選更改進行如下更新。
let table_str = <tr>
<td>SOA</td>
<td>{records?.added?.expire}</td>
<td>{records?.added?.value1} {records?.added?.value2}</td>
</tr>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459017.html
標籤:javascript 反应 反应状态
下一篇:如何強制瀏覽器中止所有XHR請求
