一、什么是自定义hooks
逻辑复用
简单来说就是使用自定义hook可以将某些组件逻辑提取到可重用的函数中。 自定义hook是一个从use开始的调用其他hook的Javascript函数。
二、不使用自定义hook时
例1:当我们整个页面需要获取用户鼠标移动的坐标时,不使用hook的代码,我们可以这样写
const [position, setPosition] = useState({
x: 0,
y: 0
})
useEffect(() => {
const move = (e) => {
setPosition({ x: e.x, y: e.y })
}
document.addEventListener('mousemove', move)
return () => {
document.removeEventListener('mousemove', move)
}
}, [])
return (
<div>
x:{position.x}
y:{position.y}
</div>
)
例2:当我们页面中有一个图片要跟随鼠标移动时,不使用hook的代码,我们也可以这样写:
const [position, setPosition] = useState({
x: 0,
y: 0
})
useEffect(() => {
const move = (e) => {
setPosition({ x: e.x, y: e.y })
}

本文介绍了React自定义Hooks的概念,通过实例展示了在不使用Hook时重复的鼠标坐标获取逻辑,然后如何通过创建`useMousePosition`自定义Hook来实现代码复用,简化页面中的重复代码,提高代码组织效率。
最低0.47元/天 解锁文章
1151

被折叠的 条评论
为什么被折叠?



