useEffect setData尽管值是新的,但未设置数据



所以这是代码

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((。

相关内容

  • 没有找到相关文章

最新更新