didMountRef 的使用

来源:3-14 useRef - 多次渲染之间的纽带

ywang04

2021-01-10

老师 关于生命周期函数的替代 我们可以在useEffect里通过加入depencies 或者空数组来实现。
这种实现方式和通过判断didMountRef的true or false有什么区别呢?还是说两者其实实现效果是一致的?

第二个问题:

  useEffect(() => {
    if (didMountRef.current) {
      console.log('Will do after mount');
      didMountRef.current = false;
    } else {
      didMountRef.current = true;
    }
  });

didMountRef.current = false; 这行有必要吗?谢谢

写回答

1回答

张轩

2021-01-11

同学你好 它们的效果是一样的 原理有不同 一个是通过 effects 的依赖来控制  effect 是否执行,它在更新后 effect  就不执行,另外一个是通过一个 ref 变量,控制 effect 内部的函数的逻辑,每次 effect 还是执行的,我觉得你选用哪种方法都可以。

0
3
ywang04
回复
张轩
明白了 模拟didMount不需要。谢谢
2021-01-13
共3条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2123 学习 · 959 问题

查看课程