useEffect第二个参数
项目中遇到useEffect第二个参数传了一个state,但是初始useEffect内部会执行一次,这是为什么?打印state的值是没有改变的。例如下方代码
const [filterCon, setFilterCon] = useState<any>();
//点击事件
const handleReset = (value) => {
setFilterCon(value)
};
useEffect(() => {
console.log('111)
}, [filterCon]);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
useEffect
是componentDidMount,componentDidUpdate 和 componentWillUnmount
三者的结合所以他的作用就是组件初始化,组件卸载,组件每次更新时执行
而每次更新都执行会有多余的不必要执行,所以就有了第二个参数数组每次update的时候这个数组里值变化了就会执行,但这只是
update
阶段,初始化还是会执行如果判断是否第一次执行:
然后常用的话,你就可以自己封装一个
update
的hooks