【发布时间】:2019-11-30 05:11:24
【问题描述】:
当用户单击handleReset() 时,我想从 Firestore 加载数据。当我单击handleReset() 时,它应该从firestore 加载数据并存储在localstorage 中。我正在使用reactjs。错误消息Cannot read property 'map' of undefined。
admin.js
handleReset(e) {
const products = getDefaultProducts();
saveProducts(products);
this.setState({products});
alert('Product Reset');
}
product.js
export const getDefaultProducts = () => {
const ref = firebase.firestore().collection('vouchers').doc('default');
console.log('ref', ref)
ref.get().then((doc) => {
if (doc.exists) {
return [
{ id: 'v5', qty: doc.data().v5 },
{ id: 'v10', qty: doc.data().v10, },
{ id: 'v20', qty: doc.data().v20 },
{ id: 'v50', qty: doc.data().v50 },
{ id: 'v100', qty: doc.data().v100 }
];
} else {
console.log("No such document!");
}
});
}
export const saveProducts = (products) => {
products = products.map(prd => {
prd.qty = isNaN(+prd.qty) ? 0 : prd.qty
return prd;
});
localStorage.setItem(STORAGE_KEY, JSON.stringify(products));
}
【问题讨论】:
标签: javascript reactjs firebase google-cloud-firestore loaddata