gpt4 book ai didi

javascript - Push 函数改变了 React 中的 props

转载 作者:行者123 更新时间:2023-11-28 18:11:54 26 4
gpt4 key购买 nike

这是我的问题。

当我使用 Push() 函数时,它会更改我的 React 属性。

const prioship = (this.props.orders.prioshipping === false ? {'name':`Regular Shipping`,'price':'0','currency':'EUR','quantity':1, 'description': ''} : {'name':`Priority Shipping`,'price': this.props.prices.shipping['A'].toString() ,'currency':'EUR','quantity':1, 'description': ''})
console.log('#### TOKEN ORDER #####1', this.props.orders.warenkorb)
const orders = this.props.orders.warenkorb
const order2 = this.props.orders.warenkorb

orders.push(prioship)
console.log('#### TOKEN ORDER #####2',order2, this.props.orders.warenkorb)

因此,即使在控制台日志“TOKEN ORDER 1”级别,此 Prop 也具有“prioship”,即使它稍后发生在代码中。我不明白如何让它停止。我只想要一个变量“orders”,其中包含prioship,我不希望我的props改变。

请帮忙

最佳答案

永远不要改变 props,就像你在这里所做的那样。

创建一个新数组,并且不要修改原始数组。

const orders = this.props.orders.warenkorb.concat( prioship );

Array.push() “变异”(更改/修改)原始数组。 Array.concat() 返回一个新数组,并且不修改原始数组。

关于javascript - Push 函数改变了 React 中的 props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41433053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com