我需要一些帮助来理解为什么可以在索引 [0] 处访问我的数据,但是一旦我尝试访问其上的键,它就会返回未定义的错误。我的数据的初始状态是一个空数组。我已经确认从响应中返回的确实是一个长度为 1 的数组,其中包含一个对象。
应用程序.jsx
import React, { useState, useEffect } from 'react';
import Reviews from './Reviews.jsx';
import axios from 'axios';
const ReviewsApp = () => {
const [listingData, setlistingData] = useState([]);
useEffect(() => {
let id = Math.floor(Math.random() * 100) + 1 // Random Test ids
axios
.get(`listings/${id}/reviews`)
.then(res => setlistingData(res.data))
.catch(err => console.log(err));
}, []);
return (
<div>
<Reviews listingData={listingData}/>
</div>
);
};
export default ReviewsApp;
评论.jsx
import React, { useState } from 'react';
const Reviews = ({ listingData }) => {
return (
<div>
{console.log(listingData[0].listing_reviews)}
</div>
)
}
export default Reviews;
所以现在,如果我 console.log(listingData[0]) 它工作没有问题并返回具有以下结构的对象:
listing_id: 0,
listing_rating: 1.5,
listing_reviews: [] <---Full of objects
当我尝试访问其中一个键时,它会失败并给出未定义的错误。如果您还想了解更多信息,请告诉我。谢谢。
莫回无
相关分类