问题 - 1
定义了一个组件没有被使用,生命周期里面的constroctor会不会被执行?
额~听到这个题我都有点怀疑人生....
答案
不会
可以简单测试以下,在某个未被调用的组件的constroctor里面写一个打印事件
console.log('this is In useless component.')
。那么这个组件就其实永远不会执行到这里。
问题 - 2
定义了一个组件,在外部赋值给一个变量,然后在这个变量上,生命周期里面的constroctor会不会被执行?
答案
不会,实验方式如上
个人分析
当一个组件不参与界面渲染时,组件的constroctor都不会被执行,考察这个问题,其实就是考察组件在某些情况不会执行。由于组件并没有被使用,第二题也只是进行了一个赋值的过程,就像把新建了一个引用指针指向这个组件,在没有使用的情况下,自然不会进入组件的声明周期。