是吗,为什么从 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 })
}
Run Code Online (Sandbox Code Playgroud)
注意值的变化。由于每次渲染可以多次调用 doSomething,由于 setState 的异步属性,这样做将不起作用:
const doSomething = (name, value) => {
setValues({ ...values, [name]: value })
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,直接改变值的方法是否正确?
当用户将光标移出边界时,我想隐藏某个div.我认为这应该工作,但它没有:
mydiv.addEventListener('blur',function(){
document.getElementById("logStuff").style.visibility = "hidden";
console.log("blurred out!"); //never gets callled
});
Run Code Online (Sandbox Code Playgroud)
这是我的代码,显示我想要隐藏的div,其工作原理:
mydiv.addEventListener('mouseover',function(){
document.getElementById("logStuff").style.visibility = "visible";
});
Run Code Online (Sandbox Code Playgroud)
我想用纯js做这个(没有jquery等...)