Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我会得到一个独特的;“关键”;尝试绘制地图时发出警告?_Javascript_Android_Reactjs_React Native - Fatal编程技术网

Javascript 为什么我会得到一个独特的;“关键”;尝试绘制地图时发出警告?

Javascript 为什么我会得到一个独特的;“关键”;尝试绘制地图时发出警告?,javascript,android,reactjs,react-native,Javascript,Android,Reactjs,React Native,我在android模拟器中收到一条警告,说数组或迭代器中的每个子级都应该有一个唯一的“键”属性。但是,我的孩子们有一个名为key的属性,它是产品id,每个产品都应该是唯一的。有人知道它还想说什么,或者我如何修复这个警告吗 setModalVisible = (visible) => { const unaddedCartProducts = this.state.unaddedCartItems.map((unaddedCartItem) => {

我在android模拟器中收到一条警告,说数组或迭代器中的每个子级都应该有一个唯一的“键”属性。但是,我的孩子们有一个名为key的属性,它是产品id,每个产品都应该是唯一的。有人知道它还想说什么,或者我如何修复这个警告吗

setModalVisible = (visible) => {      
    const unaddedCartProducts = this.state.unaddedCartItems.map((unaddedCartItem) => {
        return this.props.dispatch(handleLoadProduct(unaddedCartItem.productId).then((result) => {
            return this.setState({unaddedCartItem: result});
        }).then(() => {
            this.setState({modalVisible: visible});
        }))
    });
}

render(){
const{isLoading,product}=this.props.products;
const{unaddedCartItems}=this.state;
console.log('this.state:',this.state);
如果(孤岛加载){
返回;
}
this.numItems=product.images.length;
让imageArray=[];
设circleArray=[];
product.images.forEach((图像,i)=>{
console.log(图像,i);
常量thisImage=(
);
imageArray.push(此图像);
const scrollCircleVal=this.animVal.interpolate({
输入范围:[设备宽度*(i-1),设备宽度*(i+1)],
输出范围:[-8,8],
外推:“夹具”,
});
常数此圆=(
);
圈雷。推(这个圈)
});
常量列表图标=();
常数cartIcon=();
const questionIcon=();
让价格=({'price:$'+product.price});
让pack=({'Pk:'+product.pack+'x'+product.averageWeight+'lb'});
const deliveryEle=(val)=>(
交付{val}
);
常量行=[[价格,包装],[送货('Tue(1/30)')];
返回(
{imageArray}
Actions.pop()}>
{listIcon}
列表视图
{circleArray}
{product.description}
{产品.品牌}
项目:{product.id}
类别:{product.Category}
{cartIcon}
18项
this.cartdirect()}>
查看购物车
{
警报(“模式已关闭”);
}}>
回收物品
{this.setModalVisible(!this.state.modalVisible);}>
闭合X
{questionIcon}您是否打算添加以下项目?
{unaddedCartItems&&unaddedCartItems.map(unaddedCartItem=>
addToCart(未添加的partItem.id)}
/>
)}
这个。addItems}>
抛弃一切
此.placeOrder}>
全部加上
);
}
}
来自:

键有助于识别哪些项已更改、已添加或已删除 远离的。应该为数组中的元素提供键,以便 元素是一个稳定的恒等式

因此,在
ProductCard
render()
方法中的某个地方,您正在创建一个元素数组,但没有为每个元素指定
属性(该属性应为唯一且可预测的值)。

来源:

键有助于识别哪些项已更改、已添加或已删除 远离的。应该为数组中的元素提供键,以便 元素是一个稳定的恒等式


因此,在
ProductCard
render()
方法中的某个地方,您正在创建一个元素数组,但没有为这些元素中的每个元素指定
属性(该属性应为唯一且可预测的值)。

您需要添加一个唯一的键值:

{unaddedCartItems && unaddedCartItems.map((unaddedCartItem,index) =>
    <CartProductItem
        key={index}
        product={unaddedCartItem}
        onAddToCartClicked={() => addToCart(unaddedCartItem.id)}
    />
)}
{unaddedCartItems&&unaddedCartItems.map((unaddedCartItem,index)=>
addToCart(未添加的partItem.id)}
/>
)}

THA应解决此问题

您需要添加唯一的键值:

{unaddedCartItems && unaddedCartItems.map((unaddedCartItem,index) =>
    <CartProductItem
        key={index}
        product={unaddedCartItem}
        onAddToCartClicked={() => addToCart(unaddedCartItem.id)}
    />
)}
{unaddedCartItems&&unaddedCartItems.map((unaddedCartItem,index)=>
addToCart(未添加的partItem.id)}
/>
)}

THA应该解决这个问题

我认为这里的问题是,您正在将一个具有3个值的对象转换为一个贴图。 映射是一组
对。在这种情况下,您的对象具有:

key : 85961
productId : 859610
quentity : 2

所以你的警告只是说:谁是“钥匙”

我认为这里的问题是,您正在将一个具有3个值的对象转换为贴图。 映射是一组
对。在这种情况下,您的对象具有:

key : 85961
productId : 859610
quentity : 2
<