React中,有非常多的Hook(函数)。
我们在学习React的过程中,最先接触到的想必就是useState
了。
useState
的作用在于,它允许我们向组件添加一个「状态变量」,从而控制影响组件的渲染结果。
我们可以看下这张图:
我们有一个count
变量,这个count
是一个状态变量。
当count
值为0
,咱们UI中显示的就是0
。
当我们将count
值从0修改为1的时候,视图中也从0变成了1。
「状态变量」跟普通的JS变量不同之处在于,状态变量一旦发生变化,组件的视图UI也会跟着变化。(这就是所谓的「数据驱动视图」)
下面来了解一下useState
的相应语法:
const [count, setCount] = useState(0)
大家可以观察一下这个语句,很显然,useState一看就是个函数,它返回值是一个数组。
数组中第一个参数是「状态变量」,第二个参数是「set函数」用来修改状态变量。
你看,useState真的很贴心,不仅给你一个状态变量,而且,还为你准备了一个修改它的函数。
我们还可以看到useState()括号内有一个参数,这个参数将作为count的初始值。
如果我们想修改count
的值,只需要调用set函数即可。
来个小案例吧:(用useState实现一个计数器按钮)
这个案例是很简单的,就是一个button按钮,我们点击这个按钮,进行自增。点一下,按钮中的数字变成1,再点一下,数字会变成2,以此类推。
UI视图中按钮中的数字其实就是状态变量count来「驱动」的,count值一变,视图也立刻随之变化。