更新 map Function React 或 React-Hooks 或 React-Native 内的数组中的对象

凯夫

它正在从数组中删除除最后一个之外的所有对象,而不是更新所有对象的属性,想要更新映射函数内所有对象的“ItemDeliveryStatus”

const [arrayList, setArrayList] = useState([
        { Id: 1, Name:'A', ItemDeliveryStatus:1 },
        { Id: 2, Name:'B', ItemDeliveryStatus:1 },
        { Id: 3, Name:'C', ItemDeliveryStatus:1 },
        { Id: 4, Name:'D', ItemDeliveryStatus:1 },
      ])

const [returnCount, setReturnCount ]=useState(0)

const updateAllObjects=()=>
{
  arrayList.map(items=>
        {

            if(items.ItemDeliveryStatus==1)
            {
                setArrayList([{ ...items, ItemDeliveryStatus:4}])
            }

            if (items.ItemDeliveryStatus==4)
            {
               setReturnCount(prev=>prev+1)                        
            }
        })
}

final Result Should be like this 
([
        { Id: 1, Name:'A', ItemDeliveryStatus:4 },
        { Id: 2, Name:'B', ItemDeliveryStatus:4 },
        { Id: 3, Name:'C', ItemDeliveryStatus:4 },
        { Id: 4, Name:'D', ItemDeliveryStatus:4 },
  ])
越南的

您可以像这样更新所有对象:

const updateAllObjects = (value) => {
  setArrayList(
    arrayList.map((item) => {
      if (item.ItemDeliveryStatus == 1) {
        return { ...item, ItemDeliveryStatus: value };
      };
      return item;
    })
  );
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章