Skip to content

useResetState

作用

提供重置 state 方法的 Hooks,用法与 React.useState 基本一致

原理

通过 useMemoizedFn 来缓存 setState 设置为初始值的方法,执行方法达到重置的效果

源码

ts
import { useState } from 'react'
import type { Dispatch, SetStateAction } from 'react'
import useMemoizedFn from '../useMemoizedFn'

type ResetState = () => void

const useResetState = <S>(
  initialState: S | (() => S)
): [S, Dispatch<SetStateAction<S>>, ResetState] => {
  // 用来缓存state
  const [state, setState] = useState(initialState)

  // 通过useMemoizedFn来缓存setState设置为初始值的方法
  const resetState = useMemoizedFn(() => {
    setState(initialState)
  })

  return [state, setState, resetState]
}

export default useResetState

如有转载或 CV 的请标注本站原文地址