概念:自定义Hook是以use打头的函数,通过自定义Hook函数可以用来实现逻辑的封装和复用
例:元素显示隐藏
// 自定义Hook
function useToggle(){
const [show, setShow] = useState(true)
const toggle = () => setShow(!show)
return {
show,
toggle
}
}
const {show,toggle}= useToggle()
<div className="App">
{show&&<div>一个元素</div>}
<button onClick={toggle}>显示/隐藏</button>
</div>
ReactHook使用规则(useState、useEffect、自定义Hook、、、)
- 只能在组件中或者自定义Hook函数中调用
- 只能在组件的顶层调用,不能嵌套在if,for,其他函数中