为什么在使用 react redux 过滤时我的原始状态会发生突变

我在 React 应用程序中使用 redux。为什么这个过滤函数会改变原来的 state.products?我不明白为什么


state.products = [

   { 

      type: "one",

      products: [

         { active: true },

         { active: false }

     ]

  }

 ]


function mapStateToProps(state) {

 const test = state.products.filter((item) => {

   if(item.type === "one") {

     return item.products = item.products.filter((item) => {

       item.active

      });

    }

    return item;

  });


  return {

    machineSearchWeightRange: state.machineSearchWeightRange,

    filteredItems: test //This will have only products active

 };

}

filteredItems 将只包含活动的产品,但 state.products 也会在尝试再次过滤相同数据时更新,只包含活动的产品。


一只甜甜圈
浏览 120回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript