栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我应该在组件中使用一个还是多个useEffect?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我应该在组件中使用一个还是多个useEffect?

您需要遵循的模式取决于您的useCase。

首先
,您可能遇到以下情况:在初始安装期间需要添加事件侦听器,并在卸载时对其进行清理,而在另一种情况下,则需要清理特定的侦听器并在prop更改时将其重新添加。在这种情况下,使用两个不同的useEffect更好地将相关逻辑保持在一起,并具有性能优势

useEffect(() => {   // adding event listeners on mount here   return () => {       // cleaning up the listeners here   }}, []);useEffect(() => {   // adding listeners everytime props.x changes   return () => {       // removing the listener when props.x changes   }}, [props.x])

第二:
在某些状态或道具在一组中改变时,可能需要触发API调用或其他副作用。在这种情况下,一个

useEffect
具有相关值进行监视的个人应该是一个好主意

useEffect(() => {    // side effect here on change of any of props.x or stateY}, [props.x, stateY])

第三: 第三种情况,当您需要对不同的值进行更改时采取不同的操作。在这种情况下,请将相关比较分为不同的

useEffects

useEffect(() => {   // some side-effect on change of props.x}, [props.x])useEffect(() => {   // another side-effect on change of stateX or stateY }, [stateX, stateY])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/608836.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号