마운트가 해제된 컴포넌트의 상태를 변경하려 시도하였을때 발생하는 에러로, 일반적으로 비동기 작업이 완료되기 이전에 dismount 되는 경우 발생한다.
useEffect(() => {
setTimeout(() => {
setIsLoading(false);
}, 1000);
}, []);
useEffect cleanup function 을 통해 해결한다.
useEffect(() => {
const timeout = setTimeout(() => {
setIsLoading(false);
}, 1000);
return () => clearTimeout(timeout); // cleanup!
}, []);
참고
React useEffect cleanup: How and when to use it
How to useEffect cleanup function in react native?