![](/img/trans.png)
[英]createAsyncThunk from Redux Toolkit yields undefined payload when fetching data from Firebase
[英]Fetching data with redux from firebase
我正在尝试使用 redux 从 Firebase 获取一些数据,并在材料表组件中显示它们并做出反应。 数据已收到,但在数据到达后我收到此错误:TypeError:无法读取未定义的属性“长度”。 我认为在从 firebase 接收所有数据之前发送有效载荷。 尽管如此,我仍在使用 await ,但我不明白我在哪里出错了。
export const fetchReviews = () => async (dispatch) => {
const reviewsCollectionRef = db.collection('reviews');
let reviews = [];
await reviewsCollectionRef .get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
// doc.data() is never undefined for query doc snapshots
// console.log(doc.id, " => ", doc.data());
reviews.push(doc.data());
}); }).then(() => dispatch({
type: FETCH_DATA_FROM_FIREBASE,
payload: reviews
}));
试试下面的代码:
export const fetchReviews = () => async (dispatch) => {
let reviews = [];
//perform asynchronous tasks
await db.collection('reviews').get()
.then((querySnapshot) => {
querySnapshot.forEach(function(doc) {
reviews.push(doc.data());
})
});
dispatch({
type: FETCH_DATA_FROM_FIREBASE,
payload: reviews
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.