您的位置:首页 > Web前端 > React

React Hook 学习笔记

2020-07-14 06:13 429 查看

useEffect

useEffect(effect, [])

在class组件中,为了避免在每次更新后都清理/执行effect,我们常这样利用componentDidUpdate()

componentDidUpdate(prevProps, prevState) {
if (prevState.count !== this.state.count) {
document.title = `You clicked ${this.state.count} times`;
}
}

控制useEffect

在组件更新完成后,如果当前的state、props与之前的相同,就不去做某些操作,因此能优化性能。

在函数组件中,运用useEffect()方法,我们一样能做到这一点,而且更简单:

useEffect(() => {
document.title = `You clicked ${count} times`;
}, [count]); // 仅在 count 更改时更新

即给useEffect()传入第二个参数:依赖列表,它是一个数组,里面存放需要进行比较的值,只要数组中的任一值与之前的不相等,就会执行effect,否则就跳过此次effect。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: