useState
使用 useState 代替 state 声明值。
1 | import React, {useState} from 'react' |
useEffect
在 class 组件中使用生命周期函数做些事情(如:接口请求数据)。然而在 ReactHooks 中也可以用 useEffect 做到。
可以代替 class 组件生命周期函数 componentWillMount 和 componentDidMount。
如下:
1 |
|
可以发现浏览器第一次渲染和组件更新都会执行该函数重新渲染数据。
userEffect 定义的函数不会阻止浏览器渲染更新视图,可以理解这些函数是异步的。
useEffect 实现 componentWillUnmount
1 |
|
useEffect 函数支持返回一个函数,即解绑函数;并加上第二个参数为空数组或者是定义的值。
只要有状态变化,解绑函数都会执行。
useContext
例子如下:
1 |
|
useContext 全局状态管理相当于模拟 Redux 中 state。
useReducer
例子如下:
1 | import React,{useState, useReducer} from 'react' |
action 更新逻辑,相当于 redux 中的 reducer。
useMemo
useMemo 可以解决组件重复渲染。
1 |
|
useRef
useRef 获取元素和一些值。
1 |
|
自定义 Hooks
自定义 Hooks 必须使用以 use 开头。
自定义计算视图窗口大小例子。
1 |
|