如果要限制useEffect仅在组件安装时运行,则可以添加useEffectwith的第二个参数[]。
useEffect
[]
useEffect(() => { // ... }, []);
但是,如何使useEffect该组件仅在组件更新(除了初始挂载)的那一刻才运行?
如果要运行useEffect以仅在除初始挂载以外的更新上运行,则可以利用不带第二个参数的情况useRef来跟踪initialMount useEffect。
useRef
const isInitialMount = useRef(true); useEffect(() => { if (isInitialMount.current) { isInitialMount.current = false; } else { // Your useEffect code here to be run on update } });