Hook是一种JavaScript函数。使用Hook有几点限制:
1、只能在函数组件中使用
2、在能在函数的最顶层使用,不能再循环,条件语句中使用Hook。
3、只能在组件中调用Hook
介绍完规则之后,我们来简单了解一下什么是Hook。Hook是React组件在原有基础上钩入React state及生命周期等特性的函数。React文档中介绍了两个Hook函数。useState和useEffect
useState
使用useState只需要在开始时import进来即可
import { useState } from 'react'
function Example() {
const [count, setCount] = useState(22)
}
useState有两个返回值,第一个值可以当做state使用,并且在useState时赋给初始值22,第二个返回值是用于修改count的函数。
useEffect
与useState类似,useEffect是给React增加了操作副作用的能力。副作用是指修改DOM的所有操作统称为副作用。
useEffect没有返回值,并且接受函数参数。在函数中可以操作修改DOM。useState相当于class组件中的this.state,this.setState。 useEffect则相当于class函数中的componentDidMount,componentDidUpdate和componentWillUnmount。
useEffect(()=>{
document.title = `You clicked ${count} times`})
useState和useEffect都可以多次使用
网友评论