Mui-dataTables:如何更新类组件中的状态?

问题描述 投票:0回答:1
i我已经找到了错误。我不使用

.get()

.then()
,而是将其更改为

onSnapshot

,并且已经起作用了。
componentDidMount() { try { firestore .collection("orders") .where("orderStatus", "==", "Pending") .onSnapshot((snapshot) => { const orders = []; snapshot.docs.map((doc) => { const items = []; orders.push({ const items = []; doc.data().items.forEach((item) => { items.push(`${item.productName}(${item.qty}),`); }); const data = doc.data(); orders.push({ "Order ID": doc.id, "Items":items, }); }); this.setState({ orders: orders }); // console.log(this.state.orders); }); } catch (err) { console.log(err); } }
    
您没有将数据附加到您的新订单数组中。您的代码:

snapshot.docs.map((doc) => { const items = []; const data = doc.data(); orders.push({ }); });
应该是:
javascript reactjs firebase google-cloud-firestore mui-datatable
1个回答
0
投票
snapshot.docs.map((doc) => { const items = []; const data = doc.data(); // Append data to the array, or the right keys if you don't want the whole data orders.push(data); });

您应该直接更新状态...

this.setState(prevState => {orders: [...prevState.orders, data]})

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.