相关文章推荐
玩篮球的茴香  ·  [CMake教程] ...·  2 月前    · 
胆小的豆浆  ·  matlab ...·  2 月前    · 
小胡子的火锅  ·  Android ...·  1 月前    · 
纯真的冲锋衣  ·  数据争用(data race) ...·  4 周前    · 
快乐的凉面  ·  【已解决】failed to ...·  6 月前    · 
逃课的黑框眼镜  ·  浅谈 TypeScript / ...·  1 年前    · 
酒量小的领带  ·  1.2 Flink ...·  1 年前    · 
React 在 function 类型的组件中(component)如何让方法只执行一次

​Class​ ​​ 类型的组件中有对应的生命周期方法 ​ ​componentDidLoad​ ​​ 等,可以将只执行一次的方法放在这里面,但 ​ ​function​ ​ 类型的组件该如何实现只执行一次的方法呢?

首先你需要知道在使用 ​ ​useEffect​ ​​ 的时候,如果没有指定筛选的变量,它会在每次变量变化时执行 ​ ​useEffect​ ​ 中的内容

你需要知道的: useEffect 的使用

下面的方法,会在组件内部任意变量变化时执行

useEffect(()=>{
// do something
})

下面的方法,会在 ​ ​projList​ ​ 变化时才执行

useEffect(()=>{
// do something
}, [projList])

如何实现只执行一次

其实很简单,只需要设置 ​ ​useEffect​ ​ 的筛选变量为空即可

useEffect(()=>{
// do something
}, [])

这样,在组件载入时,只会执行一次这个方法