Skip to content

常见问题

useEffect 闭包陷阱

避免 useState 重复运行

tsx
import type { DependencyList, EffectCallback } from "react"
import { useEffect, useRef } from "react"

export function useOnMountUnsafe(effect: EffectCallback) {
  const initialized = useRef(false)

  useEffect(() => {
    if (!initialized.current) {
      initialized.current = true
      effect()
    }
  }, [])
}