반응형
리액트의 기본 개념과 JSX에 대한 이해를 확인하는 퀴즈입니다. 아래 문제를 풀어보세요!
🧩 1. 리액트의 주요 특징 중 틀린 것은 무엇인가?
- 컴포넌트 기반으로 UI를 구성한다.
- 가상 DOM을 사용하여 성능을 최적화한다.
- 양방향 데이터 흐름을 기본으로 제공한다.
- 선언형 UI 패턴을 따른다.
🧩 2. JSX에 대한 설명 중 옳지 않은 것은?
- JSX는 JavaScript 내에서 HTML을 작성할 수 있는 문법이다.
- JSX는 반드시 React.createElement()로 변환된다.
- JSX 내에서 JavaScript 표현식을 사용하려면 {}를 사용해야 한다.
- JSX에서 class 속성을 사용할 수 있으며, className으로 변경할 필요가 없다.
🧩 3. 다음 JSX 코드가 JavaScript 코드로 변환되었을 때 올바른 것은?
const element = <h1>Hello, React!</h1>;
- const element = React.createElement("h1", null, "Hello, React!");
- const element = document.createElement("h1"); element.innerText = "Hello, React!";
- const element = new HTMLElement("h1"); element.innerText = "Hello, React!";
- const element = createElement("h1", "Hello, React!");
🧩 4. JSX에서 올바른 문법을 고르세요.
- <div class="container">Hello</div>
- <div class=container>Hello</div>
- <div className="container">Hello</div>
- <div classname="container">Hello</div>
🏆 정답 및 해설
✅ 1번 문제 정답: 3번 (양방향 데이터 흐름을 기본으로 제공한다.)
📌 해설: 리액트는 단방향 데이터 흐름을 기본으로 제공하며, 부모 컴포넌트에서 자식 컴포넌트로 데이터가 흐릅니다. 반면, 양방향 데이터 바인딩은 기본적으로 지원되지 않으며, 상태 관리를 위해 useState나 Redux 같은 라이브러리를 사용해야 합니다.
✅ 2번 문제 정답: 4번 (JSX에서 class 속성을 사용할 수 있으며, className으로 변경할 필요가 없다.)
📌 해설: JSX에서는 class 속성을 사용할 수 없습니다. 대신 className을 사용해야 합니다. 이는 class가 JavaScript에서 예약어로 사용되기 때문입니다. 따라서 올바른 JSX 문법을 따르려면 className="container" 형태로 작성해야 합니다.
✅ 3번 문제 정답: 1번 (const element = React.createElement("h1", null, "Hello, React!");)
📌 해설: JSX로 작성된 코드는 내부적으로 React.createElement()로 변환됩니다. 즉, <h1>Hello, React!</h1>는 React.createElement("h1", null, "Hello, React!") 형태로 변환되며, 가상 DOM을 통해 실제 DOM에 반영됩니다.
✅ 4번 문제 정답: 3번 (<div className="container">Hello</div>)
📌 해설: JSX에서는 HTML과 유사하지만 몇 가지 차이점이 있습니다. 그중 하나가 class 대신 className을 사용해야 한다는 점입니다. 또한 속성 값을 문자열로 지정할 경우, 반드시 큰따옴표(")로 감싸야 합니다. 따라서 <div className="container">Hello</div>가 올바른 문법입니다.
반응형
'IT > React Quiz' 카테고리의 다른 글
[React] 초급 퀴즈4 - 이벤트 핸들링과 폼 (0) | 2025.02.28 |
---|---|
[React] 초급 퀴즈3 - props와 state의 차이 (0) | 2025.02.28 |
[React] 초급 퀴즈2 - 컴포넌트 개념 및 구조 (0) | 2025.02.28 |
댓글