【发布时间】:2021-03-10 22:25:08
【问题描述】:
我正在玩 react-native 并从 API 获取一些数据。都好。当我试图将数据显示到我的然后我只能显示第一个喜欢 data.artistName,但是当我尝试访问 data.graphics.dvd 我收到错误“TypeError:未定义不是对象(评估'data.graphics .dvd')"
图形是一个对象。
const Videos = () => {
const [isLoading, setLoading] = useState(true);
const [data, setData] = useState([]);
useEffect(() => {
const fetchPost = async () => {
fetch('https://myurl.com/api/title/5fac58f764e6710/')
.then((response) => response.json())
.then((json) => setData(json))
.catch((error) => console.error(error))
.finally(() => setLoading(false));
}
fetchPost();
}, []);
return (
<View style={styles.wrapper}>
<Text style={styles.title}>{data.artistName}{data.graphics.dvd}</Text>
</View>
)
};
【问题讨论】:
-
如果您收到该错误,那是因为图形为空,而您正试图获得空的“dvd”。您是否检查过数据是否包含“图形”?
-
是的,问题是如果应用程序重新加载并停留在该屏幕上,我会得到数据。但是当导航到该页面时,我不明白。
标签: javascript ios react-native