초기값으로 타입 결정
빈 값이 가능하면 `null`이나 로딩 상태를 명시하고 이후 guard로 좁힙니다.
User | null
상태 초기값, effect cleanup, ref null, 사용자 정의 훅 반환 계약을 분리하면 훅 사용부가 단순해집니다.
빈 값이 가능하면 `null`이나 로딩 상태를 명시하고 이후 guard로 좁힙니다.
User | null
비동기 요청, 구독, 타이머는 deps 변경과 cleanup 경로를 함께 설계합니다.
렌더 전 ref는 비어 있을 수 있으므로 접근 전 존재 여부를 좁혀야 합니다.
사용자 정의 훅은 상태값, 명령 함수, 오류 상태를 일관된 객체나 튜플로 반환합니다.
as const