【发布时间】:2021-08-23 21:09:45
【问题描述】:
我在从 firebase firestore 加载数组时遇到问题。
我的代码:
const [trackscreenData, setTrackscreenData] = useState('');
useEffect(() => {
// Alleen preview
function getTracksData() {
let TrackData = firebase
.firestore()
.collection('TrackScreen')
.doc('LeerjarenData')
.get();
if (!TrackData.exists) {
console.log('No Data')
} else {
let TrackDatav2 = TrackData.data();
setTrackscreenData(TrackDatav2)
}
} getTracksData()
}, [])
console.log(trackscreenData.ModulePbs1);
这很完美,它会加载数据,但是当我将控制台更改为
console.log(trackscreenData.ModulePbs1[0]);
保存控制台仍然给我我想要的数据,但是当我重新加载它给我以下错误
TypeError: Cannot read property '0' of undefined
所以当我只加载整个数组时它没有问题但是当我想要从数组中进行特定查询时,在第一次渲染时它给了我这个错误,因为我猜数据没有加载但是我该如何解决这个问题?
【问题讨论】:
-
useState({ModulePbs1: []})应该解决它。它仍然会记录undefined,因为它是一个空数组,但不会抛出错误.. -
@FrankvanPuffelen 所以这是一个问题,我没有使用代码,而是使用 Firebase 的其他东西,现在很好,但这里的答案是很好的答案,但不是我想要的答案跨度>
-
在这种情况下,请考虑发布您自己解决问题的答案。没有它,这个页面对于将来登陆这里的任何人都将毫无用处。请记住:在 Stack Overflow 上,我们不(只是)帮助您解决问题,我们还在为未来的开发人员构建知识库。
标签: reactjs firebase google-cloud-firestore