useEffect 是 React 里清理副作用的方法;
useEffect 有两个参数: 语法:
useEffect(() => {
effect
return () => {
cleanup
}
}, [input])
第一个参数: useEffect 可以返回一个函数; 这个函数成为清理函数,在此函数内用来执行清理相关的操作( 例如解绑事件 \ 清除定时器等 );
第二个参数: 是一个依赖项,可以控制 useEffect 的执行时机; 那useEffect的执行时机是怎么样的呢?
清理函数的执行时机
a,useEffect 的第 2 个参数不写,清理函数会在下一次副作用回调函数调用时以及组件卸载时执行,用于清除上一次或卸载前的副作用。
b,useEffect 的第 2 个参数为空数组,那么会在组件卸载时会执行,相当于组件的 componetWillUnmount
。
一般一个 useEffect 只用来处理一个功能,有多个功能时,建议使用多个 useEffect。