기술, 나의 공부를 공유합니다./[Web][FE] React
[3# JavaScripteXtension_ JSX] JSX란? JS with HTML
욘초
2023. 11. 4. 23:12
목차 :
1. JSX?
2. 문법
1. JSX?
JSX는 JavaScript eXtension으로 JS 확장을 의미한다.
기존 JS에서 HTML 문법을 작성할 수 있다.
React에서 Component를 만들 때 유용하게 쓰인다.
React App을 만들 때 필요한 babel이 JSX를 JS로 변환해주는 역할 수행하므로
JS 기반인 React에서 구동이 되며 파일 확장자는 .jsx 지만 .js 확장자로 파일을 생성해도 무관하다.
2. 문법
JSX에서 HTML의 모든 Tag들은 닫아줘야한다.
HTML에서 <a ....> , <img src="... >등과 같은 경우 <a .... /> 와 같이 self-closing해줘야하며
우리는 이를 self-closing Tag라 부른다.
Component에서 return문 안에 있는
JSX는 꼭 단일 최상위 부모 안에 존재해야하며 예를 들면 아래와 같다.
import React from 'react';
// 함수 컴포넌트 정의
function MyComponent(props) {
return (
<div>
<h1>Hello, {props.name}!</h1>
<p>This is a React component.</p>
</div>
);
}
export default MyComponent;
여기서 <h1> 과 <p>는 하나의 <div> 안에 존재하며 return은 단일 <div> 하나만 리턴한다.
부모가 불필요한 경우 <> 혹은 React.Fragement로 감싸주면 해결된다.
JSX에서 사용되는 {}는 외부 변수 혹은 props를 전달해줄 수 있는 곳으로
{} 괄호 안에는 숫자, 문자, 간단한 식이 포함될 수 있으며 [ ... ] 와 같은 배열은 포함될 수 없다.