04 useEffect基础用法
useEffect概念解释
我们第二个要学习的Hook(钩子函数)是useEffect,他的作用是“勾住”函数组件中某些生命周期函数。
都能勾住哪些生命周期函数?
答:componentDidMount(组件被挂载完成后)、componentDidUpdate(组件重新渲染完成后)、componentWillUnmount(组件即将被卸载前)
为什么是这3个生命周期函数?
答:因为修改数据我们可以使用前面学到的useState,数据变更会触发组件重新渲染,上面3个就是和组件渲染关联最紧密的生命周期函数。
那其他生命周期函数呢?
答:该问题的回答,引用React官方中文文档FAQ,如下
我们给 Hook 设定的目标是尽早覆盖 class 的所有使用场景。目前暂时还没有对应不常用的 getSnapshotBeforeUpdate,getDerivedStateFromError 和 componentDidCatch 生命周期的 Hook 等价写法,但我们计划尽早把它们加进来。
useEffect是来解决类组件什么问题的?
答:useEffect是来解决类组件 某些执行代码被分散在不同的生命周期函数中 的问题。
举例1:若某类组件中有变量a,默认值为0,当组件第一次被挂载后或组件重新渲染后,将网页标题显示为a的值。