首页 > 解决方案 > TypeError:无法读取未定义的属性“home_address”

问题描述

我知道line#24以前跑过useEffect()。这个怎么解决!!它显示无法读取的属性的错误undefined。您还可以检查来自APIin 的数据POSTMAN

1.  function App() {
2.  const[apiData,setApiData]=useState([]);
3.  const id=13
5.    useEffect(() => {
6.      async function loadData(url) {
7.        let response = await fetch(url, {
8.          method: 'POST',
9.          headers: { 'Content-Type': 'application/json' },
10.         // body: JSON.stringify({id:13})
11.       })
12.       let data = await response.json();
13.       console.log(data)
15.       setApiData(data);
17.     }
18.     loadData(`http://eign-backend.herokuapp.com/property/get-property/${id}/`);
19.   }
20.     , [])
21.   
22.   return (
23.     <div className="App">
24.     <h1>{apiData[0].home_address}</h1>
25.       </div>
27.   );
28. }
29. export default App;

标签: javascriptfetchuse-effect

解决方案


您必须在使用前检查它:

<h1>{apiData[0] ? apiData[0].home_address : ""}</h1>

推荐阅读