Hook中的基础hook

360 阅读1分钟

Hook用中文来讲就是钩子的意思

` 简单的来讲 hook就是把class组件的特性勾到function组件中

` 在不编写 class 的情况下使用 state 以及其他的 React 特性

` Hook Api的索引分为

` 基础 Hook

` useState (状态钩子)

` useEffect (副作用钩子)

` useContext (上下文钩子)

` 额外的Hook

` useReducer

` useCallback

` useMemo

` useRef

` useImperativeHandle

` useLayoutEffect

` useDebugValue

基础 Hook

useState又称状态钩子

传入初始化状态 返回一个数组

一、首先 引入 React 中的 useState Hook

image.png

二、通过调用 useState Hook 声明了一个新的 state 变量

当然可以声明多个state变量

1 初始化状态 2 改变它的方法

image.png image.png image.png

三、当点击按钮触发时 把最新的count传给setCount 并重新渲染

image.png

useEffect又称副作用钩子

可以让你在函数组件中执行副作用操作

useEffect(Callback,List)

1 一个函数 2 一个依赖数组

数组用来监听数据变化

image.png

可以看做componentDidMount(请求数据),componentDidUpdate(更新数据) 和 componentWillUnmount(从 DOM 中移除时调用) 这三个函数的组合。

挂在后执行

image.png

挂在前执行

image.png

useContext

接收一个 context 并返回该 context 的当前值。当前的 context 值由上层组件中距离当前组件最近的 <MyContext.Provider> 的 value prop 决定。

useContext 的参数必须是 context 对象本身

image.png

image.png

image.png

image.png