기술·IT

React 퀴즈

React의 컴포넌트·Hook·상태 관리 핵심 개념 10문항

10문항 · 4지선다 · 해설 포함

React 퀴즈 문항 · 정답 해설

전체 10문항의 정답과 해설입니다. 아직 풀지 않았다면 위에서 먼저 풀어보세요.

정답 · 해설 전체 보기 (스포일러)
  1. Q1. React에서 컴포넌트 렌더링을 유발하는 것은?

    • 상태(state) 또는 props 변경 (정답)
    • 컴포넌트 바깥에 함수를 새로 정의할 때
    • 컴포넌트 안에 지역 변수를 선언할 때
    • 모듈을 가져오는 import 구문을 추가할 때

    React 컴포넌트는 state나 props가 변경될 때 리렌더링됩니다. 불필요한 리렌더링을 막기 위해 React.memo, useMemo, useCallback을 활용합니다.

  2. Q2. useState 훅의 반환값은?

    • 현재 상태와 상태 업데이트 함수를 배열로 반환 (정답)
    • 현재 상태 값 하나만 그대로 반환
    • 변경되기 직전의 이전 상태 값을 반환
    • 초기화 전까지 undefined를 반환

    const [state, setState] = useState(초기값)으로 사용합니다. 첫 번째는 현재 상태값, 두 번째는 상태를 업데이트하는 함수입니다.

  3. Q3. useEffect 훅의 역할은?

    • 입력 폼의 값이 올바른지 검사하는 역할
    • 페이지 간 이동 경로를 설정하는 역할
    • 사이드 이펙트(데이터 패칭, 구독, DOM 조작 등) 처리 (정답)
    • 컴포넌트에 CSS 스타일을 적용하는 역할

    useEffect는 렌더링 이후 API 호출, 이벤트 리스너 등록, 타이머 설정 등 부수 효과를 처리합니다. 의존성 배열로 실행 조건을 제어합니다.

  4. Q4. React에서 key prop을 리스트에 사용하는 이유는?

    • 각 항목에 서로 다른 스타일을 주기 위해
    • React가 효율적으로 리스트 변경을 감지·업데이트하기 위해 (정답)
    • 항목의 데이터 타입을 검사하기 위해
    • 항목마다 이벤트 핸들러를 붙이기 위해

    key는 리스트 항목의 고유 식별자로 React의 재조정(Reconciliation) 알고리즘이 어떤 항목이 추가·변경·삭제됐는지 효율적으로 판단하는 데 사용됩니다.

  5. Q5. 컨텍스트(Context API)의 주요 용도는?

    • 페이지 이동과 라우팅을 관리하기 위해
    • 서버와 데이터를 주고받는 통신을 위해
    • 컴포넌트에 스타일을 적용하기 위해
    • prop drilling 없이 컴포넌트 트리 전체에 데이터 공유 (정답)

    Context API는 props를 여러 단계에 걸쳐 전달(prop drilling)하지 않고 컴포넌트 트리 어디에서나 데이터를 소비할 수 있게 합니다. 테마, 언어 설정, 인증 상태 관리에 적합합니다.

  6. Q6. useMemo 훅의 역할은?

    • 서버에서 받은 API 응답을 저장해두는 역할
    • 조건에 따라 컴포넌트 렌더링을 중단하는 역할
    • 컴포넌트의 상태를 초기값으로 되돌리는 역할
    • 값비싼 계산 결과를 메모이제이션해 불필요한 재계산 방지 (정답)

    useMemo는 의존성이 변경될 때만 값을 재계산합니다. 복잡한 계산, 대용량 배열 필터링 등에서 성능 최적화에 사용합니다. 남용 시 오히려 성능이 떨어질 수 있습니다.

  7. Q7. React의 가상 DOM(Virtual DOM)의 장점은?

    • 어떤 경우에도 실제 DOM보다 빠름을 보장
    • 최소한의 실제 DOM 변경으로 렌더링 성능 최적화 (정답)
    • 검색엔진 최적화가 자동으로 이뤄진다
    • DOM을 조작하는 코드가 전혀 필요 없어진다

    Virtual DOM은 메모리 내 가상 표현이며, 이전과 새 Virtual DOM을 비교(diffing)해 실제로 변경된 부분만 실제 DOM에 적용합니다. 불필요한 DOM 조작을 줄입니다.

  8. Q8. useRef 훅의 주요 사용 사례가 아닌 것은?

    • DOM 요소에 직접 접근
    • 이전 상태값 저장
    • 전역 상태 관리 (정답)
    • 렌더링을 유발하지 않고 값 저장

    useRef는 DOM 참조, 렌더링 없는 값 저장, 이전 값 보관 등에 사용합니다. 전역 상태 관리는 useContext, Redux, Zustand 등이 담당합니다.

  9. Q9. React에서 컴포넌트를 동적으로 불러오는(코드 스플리팅) 방법은?

    • useEffect 안에서 모듈을 import 한다
    • 상단에 정적 import 구문만 사용한다
    • React.lazy()와 Suspense 조합 (정답)
    • 컴포넌트를 전역 변수에 담아 참조한다

    React.lazy(() => import('./Component'))와 <Suspense fallback={...}>을 사용하면 필요한 시점에 컴포넌트를 동적으로 로드해 초기 번들 크기를 줄입니다.

  10. Q10. React 18에서 추가된 주요 기능 중 하나는?

    • Concurrent Mode(동시성 모드) 정식 지원 (정답)
    • 가상 DOM을 걷어내고 실제 DOM만 사용
    • jQuery와의 공식 통합 지원 추가
    • 모든 프로젝트에 TypeScript 사용 의무화

    React 18은 Concurrent Mode를 정식 지원해 렌더링을 중단·재개·우선순위 조정할 수 있게 됩니다. useTransition, useDeferredValue 등의 훅이 추가되었습니다.

자주 묻는 질문

Q. React 퀴즈는 몇 문제인가요?

10문제이며 문제마다 보기 4개 중 하나를 고릅니다. 전체 1분 정도 걸립니다.

Q. React 퀴즈 점수는 어떻게 매겨지나요?

맞힌 개수를 10문제 기준으로 환산해 점수와 정답률을 함께 보여줍니다. 문제를 풀 때마다 정답 여부가 바로 표시됩니다.

Q. React 퀴즈는 어떤 분야를 다루나요?

기술·IT 분야의 상식 문제로 구성했습니다 — React의 컴포넌트·Hook·상태 관리 핵심 개념 10문항.

Q. 틀린 문제의 해설을 볼 수 있나요?

네, 10문제 모두 해설이 붙어 있습니다. 보기를 고르면 정답과 함께 왜 그런지 바로 확인할 수 있습니다.

기술·IT 더 보기