학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 111 · 실전 면접 답변

Recoil과 Loadable은 어떤 개념인가요?

이렇게 답해 보세요 (핵심 답변)

Recoil은 작은 상태 단위인 atom과 그로부터 파생된 값이나 비동기 계산을 정의하는 selector를 의존성 그래프 형태로 연결해 다루는 React 상태 관리 라이브러리입니다. 여기서 Loadable은 비동기 atom이나 selector의 현재 진행 상태를 다루는 객체로, state 프로퍼티로 'loading'·'hasValue'·'hasError' 세 가지 상태를 구분하고 contents에 각각 대기 중인 Promise, 완료된 데이터, 에러 객체를 담습니다. 다만 Recoil 공식 저장소가 현재 아카이브(유지보수 중단)되었기 때문에 기존 프로젝트를 유지보수할 때는 개념을 정확히 알아야 하지만, 신규 프로젝트 도입 시에는 유지보수와 최신 React 호환성 위험을 반드시 짚어야 합니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. useRecoilValueLoadable을 사용할 때는 state가 'hasValue'인지 먼저 분기해 확인해야 contents를 실제 데이터로 안전하게 읽을 수 있습니다.
  2. 기술의 아키텍처적 특징(원자적 상태 그래프)을 이해하는 것과 실제 프로덕션 신규 도입 적합성을 판단하는 것은 구분해 답변하는 것이 좋습니다.

면접에서 자주 하는 실수

Loadable.contents에 항상 성공한 최종 데이터만 들어 있다고 가정하고 분기 처리 없이 바로 렌더링하면 로딩·에러 시점에 런타임 오류가 발생합니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 111번을 바탕으로 질문과 답변을 새로 정리했습니다.

← React