리액트 JSX

1. JSX란?

JSX는 XML과 유사한 구문을 사용하여 HTML 태그를 JavaScript 코드에 삽입할 수 있는 JavaScript 확장 구문입니다.
JSX는 HTML과 JavaScript 코드를 결합할 뿐만 아니라 XML의 노드 구조를 사용하여 구성 요소를 만들 수 있습니다.

JSX는 일반적으로 JavaScript 파일에서 사용되며 JSX로 작성된 코드는 babel과 같은 트랜스파일러를 사용하여 일반 JavaScript 코드로 변환됩니다.
JSX를 사용하면 모든 브라우저와의 호환성을 유지하면서 JavaScript 파일에서 HTML 태그를 자유롭게 사용할 수 있습니다.

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

위의 코드는 “Hello, world!
”라는 텍스트가 있는 H1 태그를 나타내는 새로운 React 요소를 생성합니다.

JSX 구문은 React 개발의 중요한 부분이며 개발자가 UI 구성 요소를 보다 직관적으로 작성할 수 있도록 도와줍니다.
대규모 응용 프로그램에 필수적인 재사용 가능한 모듈식 구성 요소를 구축하는 좋은 방법을 목표로 합니다.

2. JSX 사용하기

JSX에서는 HTML 태그를 사용할 수 있으며 React에서는 이러한 태그를 “구성 요소”라고 합니다.
컴포넌트는 재사용 가능한 UI 요소로, 각 컴포넌트는 독립적인 기능을 가지며 이러한 컴포넌트가 모여 애플리케이션을 구성합니다.

JSX에서는 HTML 태그와 마찬가지로 각 요소에 속성을 지정할 수 있으며 다음과 같이 div 요소에 className 속성을 지정할 수 있습니다.

<div className="속성명">
  <h1>Hello, World!
</h1> </div>

JSX에서는 자바스크립트 코드를 {}에 넣어 주입할 수 있습니다.

const 변수 = "world";
const element = <h1>Hello, {변수}!
</h1>;

JSX에서 UI는 조건문과 반복문을 사용하여 동적으로 생성할 수 있습니다.

전)

function Greeting(props) {
  const isLoggedIn = props.isLoggedIn;
  if (isLoggedIn) {
    return <h1>Welcome back!
</h1>; } return <h1>Please sign up.</h1>; }

3. 결론

JSX는 React 애플리케이션을 구축하는 데 필수적인 도구로, 개발자가 UI 구성 요소를 보다 직관적으로 작성할 수 있도록 하고 코드 가독성과 유지 관리성을 향상시키는 데 도움이 됩니다.
JSX를 사용하면 대규모 애플리케이션 개발에 중요한 재사용 가능한 모듈식 구성 요소를 만들 수 있습니다.

4. 바빌론

Babel은 자바스크립트 코드를 변환해주는 트랜스파일러입니다.
그의 임무는 최신 JavaScript 코드 또는 다른 언어로 작성된 코드를 이전 브라우저에서 작동하도록 변환하고 새로운 JavaScript 기능을 사용할 수 있도록 하는 것입니다.

ES6(ECMAScript 2015)에 추가된 let, const, 화살표 함수, 클래스, 템플릿 리터럴, 디스트럭처링과 같은 새로운 기능을 사용할 때 이전 브라우저에서 지원하지 않기 때문에 문제가 발생할 수 있습니다.
현재 Babel로 ES6 코드를 ES5 코드로 변환하면 모든 브라우저에서 동일한 기능을 사용할 수 있습니다.

또한 Babel은 React에서 JSX 코드를 사용하는 데 사용됩니다.
JSX는 XML과 유사한 문법을 ​​가지고 있으며, 직접 실행시 브라우저가 인식하지 못하는 문제가 있습니다.
따라서 JSX를 JavaScript 코드로 변환하는 babel 플러그인을 사용하여 문제를 해결합니다.

Babel은 다양한 환경에서 사용할 수 있으며 명령줄 인터페이스(CLI), 빌드 도구 및 플러그인을 통해 사용할 수 있습니다.
또한 Babel은 새로운 JavaScript 기능이 추가됨에 따라 커뮤니티에서 유지 및 업데이트됩니다.