Skip to content

当依赖变化时才去执行 useEffect #54

@SevenChan07

Description

@SevenChan07

对于有依赖项的 useEffect,初始化的时候也会去执行,比如:

const [number, setNumber] = useState(0)

useEffect(() => {
  console.log(number)
}, [number])

实际上,第一次不想去执行的情况很多,比如一个异步请求,我只想在依赖变化的时候去请求。
写一个 useUpdateEffect

const useUpdateEffect = (cb, dep) => {
  const [status, setStatus] = useState(false)

  useEffect(() => {
    if (status) {
      cb()
    } else {
      setStatus(true)
    }
  }, dep)
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions