常见用法
- 无参数:组件的任何更新,该 useEffect 对应的返回函数和函数都执行
- 为空数组:只在componentDidMount执行一次,不监听组件的更新,
- 数组中有具体依赖:对应的依赖数据,有变化的时候,才会执行(初始不会执行);例子中test改变才会执行
效果:
由此可见:空数组执行一次,不传值只要组件有任何更新都执行,依赖test改变的只有test发生改变才执行
清楚useEffect内部操作
组件卸载时需要清除 effect 创建的例如订阅或计时器 ID 或者重要信息防止内存泄露的时候需要再组件卸载的时候清除。