useEffect执行逻辑是怎样的?

来源:3-7 hooks 组件对应的生命周期

拖车板牙爵士

2021-07-19

下面代码中的useEffect是否执行,依赖的是value和delay,假设value的变化速度特别的快,快到useEffect第一次还没有执行完成,value就又变化了,这个时候会怎样?

import { useState, useEffect } from "react";

export const useDebounce = (value: any, delay: number) => {
  const [debouncedValue, setDebouncedValue] = useState(value);

  useEffect(() => {
    const timeout = setTimeout(() => setDebouncedValue(value), delay);
    return () => {
      clearTimeout(timeout);
    };
  }, [value, delay]);

  return debouncedValue;
};
写回答

1回答

夏小宅

2021-07-20

https://zhuanlan.zhihu.com/p/346977585 参考下这篇文章吧,另外value不停变化,react内部也是有缓存的,不会一直执行

0
0

React+React Hook+Egg造轮子 全栈开发旅游电商应用

造好轮子+前后端复杂业务处理,解锁前端高手必备技能。

479 学习 · 137 问题

查看课程