拜托,帮我解决问题?
我正在从Strapi中获取一些数据,并将其显示在组件中。第一次重新渲染时一切都运行良好,但随后出现了奇怪的行为。
首先-当我导航到另一个页面,然后导航回原始页面-我总是得到错误消息=
未捕获的类型错误:无法读取undefined的属性(阅读“0”)
当我停留在同一页面,然后试图刷新它-有时它的工作正常,有时我得到相同的错误信息如上。
我认为这与获取有关,我想我不明白一些重要的概念,我如何解决我的问题,从strapi获取数据并在组件中使用它的最佳方法是什么?
下面是获取函数的代码
const [data2, setdata2] = useState({});
useEffect(() => {
axios
.get(`${process.env.REACT_APP_HOST}/api/flipcards`)
.then(({ data }) => setdata2(data))
.catch((error) => setError2(error))},
[])
这是组件:
<Box sx={data2text}>
<Typography sx={data2title}>{data2.data[0].attributes.title2}</Typography>
<Typography>{data2.data[0].attributes.details}</Typography>
</Box>
谢谢你!
2条答案
按热度按时间hgc7kmma1#
也许你应该检查一下你的回答中是否有什么东西。比如:
3vpjnl9f2#
找到了解决方案!我确实添加了?everywhere = data2.data[0]?.attributes?.标题2
还包括如下声明的数据:
const [data,setdata] = useState({data:[]})-我认为这解决了这个问题!