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只渲染了一次,但每次鼠标移动时都会触发事件。