[英]Unhandled promise rejection in react native
我警告未處理的承諾被拒絕,並且undefined不是評估this.state.gridData [0] .brand的對象
這部分代碼有問題
async componentDidMount() { const bikes = await fetchVehicleBasedOnType(VEHICLE_TYPES.TWO_WHEELER); this.setState({ bikes }); const gridData = _.uniqBy(bikes, 'brand').map((K) => { return { brand: K.brand, logo: K.brand_logo }; }); this.setState({ gridData, selectedBikeBrand: this.state.gridData[0].brand, selectedBikeBrandLogo: this.state.gridData[0].logo, loading: false }); const listData = bikes .filter(item => item.brand === this.selectedBrand) .map(({ model, image }) => ({ model, modellogo: image })); this.setState({ listData }); }
有人可以建議修改和修復以使此代碼更好。
您沒有將gridData
分配給this.state
,因此假定this.state.gridData
是undefined
。 只需刪除this.state
的用法this.state
。 在嘗試訪問gridData[0]
屬性之前,還應該檢查以確保gridData
不為空。
const gridData = _.uniqBy(bikes, 'brand').map((K) => {
return { brand: K.brand, logo: K.brand_logo };
});
const firstItem = gridData[0] || { };
this.setState({
gridData,
selectedBikeBrand: firstItem.brand,
selectedBikeBrandLogo: firstItem.logo,
loading: false
});
設置狀態時,您具有girdData [0] .brand。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.