這是我將按 orderId 過濾然后設置為狀態變量的 JSON 輸入。[{"orderId":3,"userId":3,"firstName":"Amal","lastName":"kankanige","contactNo":"011-3456787","status":"pending","deliveryAddress":"No:24/c,Anders Road,Wijerama,Wijerama,Srilanka","productName":"Apple","quantity":2,"total":100.0,"id":null,"order_date":"2019-01-31 10:28:29"}]這是我的狀態。 this.state = { merchentOrders: [], filterMerchentOrders: [] }//這是方法當我按 orderId 過濾時,它成功運行,然后我想將過濾后的輸出設置為“ this.setState({filterMerchentOrders: filterMerchentOrdersX});”。當我調出如下狀態時,未設置值。getOrderDetails = id => { console.log("id ==" ,id); let filterMerchentOrdersX = this.state.merchentOrders.filter(value => { return ( value.orderId.toString() .indexOf(id) !== -1 ); }); this.setState({filterMerchentOrders: filterMerchentOrdersX}); //this is working console.log("filterMerchentOrdersX ==" ,filterMerchentOrdersX); //this gives an empty array console.log("this.state.filterMerchentOrders ==" ,this.state.filterMerchentOrders); };
過濾對象數組并設置為狀態數組變量
森林海
2021-06-09 14:47:28