const useMouse = () => {
const [position, setPosition] = useState({ x: 0, y: 0 })
useEffect(() => {
const onMouseMove = e => {
const { pageX, pageY } = e
setPosition({
x: pageX,
y: pageY
})
}
window.addEventListener('mousemove', onMouseMove)
return () => window.removeEventListener('mousemove', onMouseMove)
}, [])
return position
}
const Cat = () => {
const { x, y } = useMouse()
return (
<img
src={catImg}
style={{
position: 'absolute',
top: y,
left: x
}}
alt=""
/>
)
}
const Position = () => {
const { x, y } = useMouse()
return (
<div>鼠标当前位置:(x: {x}, y: {y})</div>
)
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42