一个react hook小寄巧

37 阅读1分钟
  const result = useRequest(async () => {
    xxx
  })
  useEffect(() => {
    result.run()
  }, [result.run])

这段代码eslint会报错 点击修复后 会将依赖更改为result
原因是result.run实际等同于result.run.call(result),result会成为runthis,隐式使用了这个变量
所以要写成这样才不会报错

  const result = useRequest(async () => {
    xxx
  })
  useEffect(() => {
    const _run = result.run
    _run()
  }, [result.run])