Javascript react native中未处理的承诺拒绝
我收到一条关于未处理承诺拒绝的警告,并且未定义不是对此进行评估的对象。state.gridData[0]。brand 这部分代码有问题 异步组件didmount(){ const bikes=等待获取车辆基本类型(车辆类型。两轮车); this.setState({bikes}); const gridData=uqby(bikes,'brand').map((K)=>{ return{brand:K.brand,logo:K.brand_logo}; }); 这个.setState({gridData, selectedBikeBrand:this.state.gridData[0]。品牌, selectedBikeBrandLogo:this.state.gridData[0]。logo, 加载:错误 }); const listData=自行车 .filter(item=>item.brand==此.selectedBrand) .map(({model,image})=>({model,modellogo:image})); this.setState({listData});Javascript react native中未处理的承诺拒绝,javascript,react-native,Javascript,React Native,我收到一条关于未处理承诺拒绝的警告,并且未定义不是对此进行评估的对象。state.gridData[0]。brand 这部分代码有问题 异步组件didmount(){ const bikes=等待获取车辆基本类型(车辆类型。两轮车); this.setState({bikes}); const gridData=uqby(bikes,'brand').map((K)=>{ return{brand:K.brand,logo:K.brand_logo}; }); 这个.setState({gri
}设置状态时,您有girdData[0]。brand。您没有将
gridData
分配给此.state
,因此推测此.state.gridData
是未定义的。只需删除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
});
你拼错了gridData
。我已经纠正了它,但我仍然有同样的问题@JLRisheSo我应该在哪里给出它?你能建议如何转换什么?恐怕我不明白。我需要将所选的Bikebrand指定为gidData[0]。Brand,那么我该怎么做呢?请建议我对Listdata做了同样的操作。有些问题您可以查看此链接@nadeshoki。我非常确定此。selectedBrand
没有提及任何内容。尝试使用firstBrandItem.brand
替代。我做了,但仍然有相同的问题请看这里:@nadeshoki什么相同的问题?你还没说问题出在哪里呢。非常感谢,这是同样的错误,现在可以工作了。再次感谢你的帮助