Javascript 需要折射的ReactJs函数(如果可能)

Javascript 需要折射的ReactJs函数(如果可能),javascript,reactjs,Javascript,Reactjs,我为一个基本的电子商务商店编写了一些函数,但对我来说这两个函数都有点冗长 也许有人对我如何折射他们有一些建议 干杯 1-一个函数,它根据一个操作将一个项目添加到购物车或愿望列表中: addToFunnelHandler=(uuid、价格、标题、操作)=>{ 让productToAdd={} productToAdd.uuid=uuid productToAdd.price=价格 productToAdd.title=标题 如果(动作==='bag'){ 让productsInBag=[…thi

我为一个基本的电子商务商店编写了一些函数,但对我来说这两个函数都有点冗长

也许有人对我如何折射他们有一些建议

干杯

1-一个函数,它根据一个操作将一个项目添加到购物车或愿望列表中:

addToFunnelHandler=(uuid、价格、标题、操作)=>{
让productToAdd={}
productToAdd.uuid=uuid
productToAdd.price=价格
productToAdd.title=标题
如果(动作==='bag'){
让productsInBag=[…this.state.productsInBag]
产品打包。推送(产品添加)
this.setState({productsInBag:productsInBag,bagCount:this.state.bagCount+1,bagTotal:this.state.bagTotal+price})
}else if(action==='wishlist'){
让productsInWishlist=[…this.state.productsInWishlist]
productsInWishlist.push(productToAdd)
this.setState({productsInWishlist:productsInWishlist,wishlistCount:this.state.wishlistCount+1})
}

}
对于第一个函数,您可以删除大部分声明:

  • 一次性申报产品添加
  • 只需将值包含在数组中,而不是推送
  • addToFunnelHandler=(uuid、价格、标题、操作)=>{
    让productToAdd={uuid,price,title}
    如果(动作==='bag'){
    this.setState({productsInBag:[…this.state.productsInBag,productToAdd],bagCount:this.state.bagCount+1,bagTotal:this.state.bagTotal+price})
    }else if(action==='wishlist'){
    this.setState({productsInWishlist:[…this.state.productsInWishlist,productToAdd],wishlistCount:this.state.wishlistCount+1})
    }
    
    }
    对于第一个函数,您可以删除大部分声明:

  • 一次性申报产品添加
  • 只需将值包含在数组中,而不是推送
  • addToFunnelHandler=(uuid、价格、标题、操作)=>{
    让productToAdd={uuid,price,title}
    如果(动作==='bag'){
    this.setState({productsInBag:[…this.state.productsInBag,productToAdd],bagCount:this.state.bagCount+1,bagTotal:this.state.bagTotal+price})
    }else if(action==='wishlist'){
    this.setState({productsInWishlist:[…this.state.productsInWishlist,productToAdd],wishlistCount:this.state.wishlistCount+1})
    }
    

    }
    我不知道你说的干洗是什么意思?比如重构?你说的“干重构”是什么意思?还有什么是长篇大论?@octobus long wined的意思是太长了,我指的是折射,我编辑过:)我不确定你说的干折射是什么意思?比如重构?你说的“干重构”是什么意思?还有什么是长篇大论?@octobus long wined的意思是太长了,我的意思是折射,编辑:)是的,它是独一无二的!太好了,谢谢你-我会调查的。@graciecatherine更新:)legend!!非常感谢您的帮助。@GraceCatherine别担心,如果您还需要帮助,请尽管问我,我可能会在不久的将来帮您解决这个问题。。。再次感谢。是的,它是独一无二的!太好了,谢谢你-我会调查的。@graciecatherine更新:)legend!!非常感谢您的帮助。@GraceCatherine别担心,如果您还需要帮助,请尽管问我,我可能会在不久的将来帮您解决这个问题。。。再次感谢。