【发布时间】:2020-02-11 12:43:11
【问题描述】:
我正在使用 React 16.10 创建一个 Web 应用程序,当我尝试使用 Array.concat() 将元素添加到一个空数组时,首先它返回一个空数组,第二次尝试后它返回扩展数组。
我不使用Array.push()的原因:
代码如下:
const [pizzas, setPizzas]= useState([]);
const addPizza = (type, size, dough, price) => {
setPizzas(pizzas.concat([{type, size, dough, price}]));
console.log(pizzas);
}
单击按钮时会触发addPizza 函数。第一次点击控制台返回[],第二次点击返回扩展数组:[{...}]。
奇怪的是,当我尝试在浏览器的控制台中做类似的事情时,它可以正常工作:
const a = [];
a.concat({name: 'James'}); // returns [{name: 'James'}]
【问题讨论】:
标签: javascript arrays reactjs concatenation