learn/synchronizing-with-effects #252
Replies: 2 comments 3 replies
-
데이터 패칭하기useEffect(() => {
let ignore = false;
async function startFetching() {
const json = await fetchTodos(userId);
if (!ignore) {
setTodos(json);
}
}
startFetching();
return () => {
ignore = true;
};
}, [userId]); 어떻게 이 코드에서 재호출될 시 ignore 값이 true가 되어 setTodo()가 한 번 밖에 실행되지 않을 수 있나요? |
Beta Was this translation helpful? Give feedback.
-
Q. useEffect 실행시점안녕하세요! useEffect 공부하다가 실행 시점에 대해 궁금한게 생겨 댓글 남깁니다. 문서에서 보면 useEffect는 커밋이 끝나면 실행된다고 나와있습니다. 강의 2:00 ~ 2:40 에서 이부분에 대해서 말씀을 해주시는데요! 이전 문서에서 리액트는 “렌더 > 커밋 > 페인팅” 단계로 실행이 된다고 설명하고 있습니다. useLayoutEffect에 대한 설명을 보면 브라우저가 화면을 리페인트 하기전에 실행되는 useEffect버전이라고 나와있습니다.
저는 지금까지 useLayoutEffect와 useEffect를 비교하면서 useEffect는 페인팅이 된 이후에 실행이 되어 화면 깜빡거림이 보이고 useLayoutEffect는 페인팅 이전에 실행이 되어 사용자가 깜빡거림을 경험하지 않는다라고 알고 있었습니다. 이번 문서와 강의를 보면서 조금 헷갈리는데ㅠㅠuseEffect는 정확히 언제 실행 되는걸까요?! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
learn/synchronizing-with-effects
The library for web and native user interfaces
https://react-ko.dev/learn/synchronizing-with-effects
Beta Was this translation helpful? Give feedback.
All reactions