코드를 짜다 마주친 궁금한 것들을 하나씩 따라가며 정리합니다.
총 93 편
fetch 응답에 as 를 붙이면 거짓말이 돼요. 경계에서 검증해 타입을 얻어내요.
useSuspenseQuery 를 세 줄로 두면 왜 요청이 계단처럼 줄을 서는지 풀어요.
queryKey 가 의존성 배열이고 staleTime 과 gcTime 이 다른 질문인 이유를 풀어요.
getQueryData 로 값만 꺼내 그렸더니 화면이 안 바뀌는 그 순간을 풀어요.
탭을 빨리 바꿨더니 직전 사람 정보가 남는 그 버그를 풀어요.
비밀번호 일치 검사를 Effect에 맡겼더니 한 글자마다 두 번씩 그려질 때 보세요.
버블링과 캡처링을 알면 target과 currentTarget이 왜 다른지 풀려요.
useMemo, useCallback, memo를 일일이 거는 게 맞나 싶을 때 보세요.
useContext는 부분 구독을 모르거든요. 그래서 selector가 따로 필요해요.
같은 코드를 두고 DRY 라는 사람, AHA 라는 사람이 갈려요. 사실 둘은 한 가족이에요.
둘 다 서버에서 도는 건 맞는데, 만드는 결과물이 다르거든요.
useContext 가 if 안에서 막힐 때 use 가 풀어주는 자리예요
빈 영역을 먼저 두고 텍스트만 갈아 끼워야 토스트가 들리기 시작해요.
useLayoutEffect 를 언제 꺼내야 할지 결정 트리로 정리해봐요.
같은 주소를 쳐도 사람마다 다른 서버에 닿을 수 있어요. DNS와 CDN 거점까지, 어디서 갈라지는지만 따라가요.
두 패턴이 비슷해 보일 때, 어디서 갈리는지 짚어볼게요.