Front-end/React
JSX란?
mooyou
2024. 10. 18. 18:22
728x90
300x250
JSX는 JavaScript XML의 약자로 자바스크립트를 확장 시킨 문법이기 때문에 모든 자바스크립트 문법을 지원하고 여기에 HTML과 XML을 같이 사용하는 형태다.
리액트는 컴포넌트 기반으로 UI를 구성하는데, 이 컴포넌트를 작성할 때 JSX를 사용하면 HTML태그와 유사한 문법으로 UI 구조를 쉽게 정의할 수 있음.
JSX는 최종적으로 브라우저가 이해할 수 있는 순수 자바스크립트로 변환되고 이 변환 작업은 Babel 같은 트랜스파일러에 의해 이루어지며, 실제로 브라우저는 변호나된 자바스크립트 코드를 실행한다.
JSX 사용법
const element = <h1>Hello, world!</h1>;
위와 같은 JSX는 Babel에 의해 다음과 같이 변환된다.
const element = React.createElement('h1', null, 'Hello, world!');
html 중간에 자바스크립트 코드 삽입하기
import React from 'react';
import ReactDOM from 'react-dom';
// 컴포넌트 정의
function Greeting(props) {
return <h1>안녕하세요, {props.name}님!</h1>;
}
// 컴포넌트 사용
const element = <Greeting name="철수" />;
ReactDOM.render(element, document.getElementById('root'));
위와 같이 XML/HTML코드 중간에 자바스크립트 코드를 사용하려면 중괄호{}를 써서 묶어주면 된다.
태그 속성에 값을 넣고 싶을 경우
const element = <Greeting name="철수" />;
위와 같이 큰따옴표 안에 문자열을 넣거나
import React from 'react';
import ReactDOM from 'react-dom';
const element = <h1 style={{ color: 'blue' }}>안녕하세요, 리액트!</h1>;
ReactDOM.render(element, document.getElementById('root'));
중괄호 사이에 값을 작성한다.
728x90
반응형