在 Redux 教程中,他们大量使用数组扩展运算符来编写 reducer(必须是纯函数)。浏览以下脚本。
let a = {
b : "ddff",
c : "adxas"
}
let c = {
b : "ssdds",
c : "asdxasdsad"
}
let d = [];
d.push(a);
d.push(c);
console.log(d);
const pureFunc = (arr,b,c) => {
return [...arr, { b , c}];
}
let n = pureFunc(d,"daaaa","sdadad");
console.log(n);
d[0].b = "Hello";
console.log(n)
函数“pureFunc”是否是一个适当的纯函数。数组 d 上的突变反映在对象 n 中。