Reactjs react.js中useEffect钩子的工作。useEffect的依赖项数组部分存在问题
对于使用效果是如何工作的,我并不感到困惑Reactjs react.js中useEffect钩子的工作。useEffect的依赖项数组部分存在问题,reactjs,use-effect,Reactjs,Use Effect,对于使用效果是如何工作的,我并不感到困惑 const recordMouse = e => { setX(e.clientX) setY(e.clientY) } useEffect(() => { window.addEventListener('mousemove',recordmouse) },[]) 如果我没有错的话,当我们提供一个空的依赖数组时,useEffect会在第一次渲染时运行,但是在这里我发现我得到了每个鼠标位置。
const recordMouse = e => {
setX(e.clientX)
setY(e.clientY)
}
useEffect(() => {
window.addEventListener('mousemove',recordmouse)
},[])
如果我没有错的话,当我们提供一个空的依赖数组时,useEffect会在第一次渲染时运行,但是在这里我发现我得到了每个鼠标位置。
有人能解释一下发生了什么事吗。你可以试试这样的东西
const [x, setX] = useState();
const [y, setY] = useState();
const recordMouse = e => {
setX(e.clientX)
setY(e.clientY)
}
return (
<div onMouseMove={recordMouse}>
content
</div>
)
const[x,setX]=useState();
const[y,setY]=useState();
const recordMouse=e=>{
setX(e.clientX)
塞蒂(e.clientY)
}
返回(
内容
)
只有一个mouseover
事件绑定,但是每次触发mouseover
时都会执行回调(recordMouse
)
它与
useffect
无关,您可以使用香草javascript进行尝试。在第一次渲染时,您只订阅一次事件,但每次鼠标移动都会触发该事件。你想做什么?“在这里我发现我得到了每一个鼠标位置”-在哪里?你怎么用的?我在显示鼠标坐标。我怀疑useEffect只渲染了一次,但每次鼠标移动时都会触发事件。