본문 바로가기
리엑트/실무 중심 FE 입문자를 위한 React

JSX

by 문자메일 2024. 6. 10.

JSX란?

React 에서 쓰는 JSX 문법 

 

JSX = HTML + Javascript

javascript를 확장한 문법 (Javascript XML)

- 모양은 HTML에 가깝다

- 내부적으로 Javascript를 사용할 수 있다.

- React는 이 JSX를 이용하여 화면을 그린다. (컴포넌트)

 

const element = <h1>Hello, world!</h1>;

 

 

JSX의 특징

- JSX에서 사용되는 태그의 속성 이름이 HTML과 조금 다르다.

- 태그를 명시적으로 닫아줘야 한다.

- 하나의 태그로 감싸져 있어야 한다.

 

 

<button class="btn">Hello, world!</button>

<input type="text">

위 코드는 하나의 태그로 감싸져 있지 않고, input 태그가 닫히지 않았으므로 JSX가 아니다.

 

반면에 아래는 JSX 문법을 만족한다고 볼 수 있다.

<div>

 <button className="btn">Hello, world!</button>

 <input type="text" />

</div>

 

 

라이브러리 설명

 

react - 리액트 라이브러리는 리액트의 핵심 코드들이 담겨 있는 라이브러리이다.

react-dom - 리액트의 핵심 코드로 구현한 화면들을 돔에 연결시킬 때 사용하는 라이브러리

react-script - 리액트로 구현한 코드를 실행하거나 빌드하거나 할 때 사용하는 스크립트들을 모아둔 라이브러리

 

 

 

2-2 JSX에서 Javascript 사용하기

위 자바스크립트 변수를 JSX에서 사용하는데 아래처럼 JSX에서 중괄호 안에 변수를 넣어주면 된다.

JSX에서는 중괄호를 치게 되면 이 안에서 JavaScript를 사용하겠다라는 의미가 되고, 그 안에 있는 JavaScript 값을 그대로 출력을 하게 된다.

 

 

2-3 JSX에서의 조건문

and 연산자랑 or 연산자 출력되는 원리는 이해는 잘 안 되는데, 그냥 두고 넘어가자

 

 

2-4. JSX에서의 반복문

JSX를 반복할 때 주의해야 할 점

=> 리엑트에서 JSX 리스트를 나열을 할 때 각 요소에 아래 예시 처럼 key 값을 넣어 줘야 한다.

 

2-5 JSX 스타일링

 

2-6 JSX로 구구단 만들기

import ReactDOM from "react-dom";

const num = [1, 2, 3, 4, 5, 6, 7, 8, 9];

const element = (
  <div style={{ display: "flex" }}>
    {num.map((n) => {

      return (n!==1 && n !==5) && <div style={{ padding: 10 , color: n%2 === 1 ? 'blue' : 'black'}}>
      {num.map((m)=>(
        <div> {n} * {m} = {n * m}</div>
      ))}
      </div>
    })}
  </div>
);

ReactDOM.render(element, document.getElementById("root"));

 

'리엑트 > 실무 중심 FE 입문자를 위한 React' 카테고리의 다른 글

06 React 환경 설정  (0) 2024.08.15
05 이벤트 헨들링  (0) 2024.08.14
04 LifeCycle과 Hooks  (0) 2024.08.13
Chapter 03 컴포넌트  (0) 2024.06.13
React란?  (0) 2024.06.10

댓글