javascript - TypeError:无法读取未定义的属性“home_address”
问题描述
我知道line#24
以前跑过useEffect()
。这个怎么解决!!它显示无法读取的属性的错误undefined
。您还可以检查来自API
in 的数据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;
解决方案
您必须在使用前检查它:
<h1>{apiData[0] ? apiData[0].home_address : ""}</h1>
推荐阅读
- python - 抓取时如何限制结果数量
- python - 我如何知道亚马逊是否成功发送了电子邮件
- apache-flink - 如果在 Apache flink 中 5 秒内发现 5 次相同的数据,则生成 CEP 事件
- dji-sdk - DJI Matrice 100 为车载电脑供电
- codeigniter - 在控制器中编写查询而不是模型
- laravel - Laravel App\Http\Middleware\Class 未找到
- jquery - 如何使用 jQuery Datepicker 为 AngularJs UI 混合设置(或删除)时区
- python - 在 Scrapy 中以编程方式重置 TCP 连接
- python - Logits 的形状错误
- android - Android:添加 Firebase 消息传递 - 清单合并失败