是吗,为什么从 React 的新 useState 钩子改变状态是个坏主意?我没有找到有关该主题的信息。
考虑以下代码:
const [values, setValues] = useState({})
// doSomething can be called once, or multiple times per render
const doSomething = (name, value) => {
values[name] = value
setValues({ ...values })
}
注意值的变化。由于每次渲染可以多次调用 doSomething,由于 setState 的异步属性,这样做将不起作用:
const doSomething = (name, value) => {
setValues({ ...values, [name]: value })
}
在这种情况下,直接改变值的方法是否正确?