如何在react native中更改占用redux的状态

q35jwt9p  于 2022-11-12  发布在  React
关注(0)|答案(1)|浏览(148)

您需要更改一个变量,但此变量在存储区中,因此我共享了数据
数据类型

export const lists =[
    {
    "id":1,
   "listname":"2022-09-09 00:00:00",
   "products":[
      {
         "id":1,
         "idlist":1,
         "product":"milk",
         "quantity":1,
         "measure":"liter",
         "status":false
      },
      {
         "id":2,
         "idlist":1,
         "product":"bread",
         "quantity":1,
         "measure":"Kg",
         "status":false
      },
  ]},
]

我要更改的数据是状态
我在reduce中想到了这个想法,在action中定义了action

case CHANGE_PRODUCT_STATUS:
       const newList = state.lists.products.findIndex(
         (product) => product.id === action.productId
       );
       if (newList === -1) return state;
       return {
         ...state,
         lists: state.lists.products[newList].status = !state.lists.products[newList].status,
       };

它给我一个错误undefined不是一个对象(评估'state.lists. products. findIndex')
我该怎么修呢谢谢

pb3s4cty

pb3s4cty1#

没有lists.products,因为lists是一个内部只有一个元素的 * 数组 *。lists[someArrayIndexHere].products应该可以工作。

相关问题