《React-自定义Hook技巧》

264 阅读1分钟

自定义的Hook其实就是封装一个函数,在这个函数里会使用useState,useRef等Hook,进行一系列操作,最后return 一个读写接口 。

比如我们要在多个组件里初始化同一个数据,如果每次都useState重复很多遍。所以我们可以把这个操作单独封装在一个函数里,谁想初始化这个数据,就调用一次函数。

// useTags.tsx
import {useState} from 'react';

function useTags(){
    const [tags,setTags]=useState<string[]>(['衣服','餐饮','住房','交通'])
    return {tags,setTags}
}
export default useTags

使用:

const {tags,setTags}=useTags()

注意事项:

  1. 这个函数名必须是use开头,因为React规定,useState只能在函数组件或自定义Hook函数里使用。一般自定义的Hook函数名字都是use开头的。如果不是,会报错。
  2. 这个函数肯定要暴露出读写接口,以便别人调用之后拿到读写接口。要以对象的形式return ,以对象的形式接收。