所以这是代码
const handleChange = (e, tipo) => {
console.log(e.target.value); //0
console.log(data[tipo]); //1
data[tipo] = e.target.value;
console.log(data[tipo]); //2
console.log(data); //3
setData(data);
};
Console.log 2和3告诉我,被操纵的数据发生了变化,向我显示了我插入的字符,但当我执行setData时,它甚至不会启动useEffect!
useEffect(() => {
console.log("____________________________________");
console.log(data);
console.log("____________________________________");
}, [data]);
在请求数据时,它只打印一次。
更改数据后,按如下方式设置数据:
如果数据是数组:
setDate([...data]);
如果数据是一个对象:
setDate({...data});
React将跟踪数据的引用,而不是您在数据内部所做的更改,因此如果您希望您的更改生效,请考虑将新的引用传递给setData((。