Javascript react native中未处理的承诺拒绝

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

我收到一条关于未处理承诺拒绝的警告,并且未定义不是对此进行评估的对象。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});
}设置状态时,您有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什么相同的问题?你还没说问题出在哪里呢。非常感谢,这是同样的错误,现在可以工作了。再次感谢你的帮助