每当我在数组中进行更改时,我现在都无法使DOM呈现。我正在使用反应挂钩。
const [priceRanges, setPriceRanges] = useState([]);
function changeValueBegin(id, value) {
const newArray = priceRanges;
newArray[id - 1].begin = value;
setPriceRanges(newArray);
setAa(value);
}
objectExemple = {
begin: 0
end: 0
id: 1
}
这是在输入字段中呈现的,每当我更改其值时,我都希望在元素内部显示该值。
我传递对象的ID及其值,将其更改并设置为Array,但是dom渲染不会触发。我正在使用的旁路正在更新另一个值(aA),当该值被更新时,将再次渲染dom,并显示该值。
在向数组中添加新元素时,我在制作dom渲染时遇到了同样的麻烦,
function addPriceRange() {
const newRange = {
id: priceRangesLength + 1,
begin: 0,
end: 0,
sale_value: 0,
};
setPriceRanges(priceRanges.concat(newRange));
setPriceRangesLength(priceRanges.length + 1);
}
使用concat而不是push,阵列检测到已从先前状态更改。我想要同样的东西,但是当我更新一个已经存在的对象时;