[英]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.