[React] JSX란 무엇인가

JSX란?

function formatName(user) {
  return user.firstName + ' ' + user.lastName;
}

const user = {
  firstName: 'Harper',
  lastName: 'Perez',
};

const element = <h1>Hello, {formatName(user)}!</h1>;
//중괄호 안에 자바스크립트 표현식을 넣을 수 있다.

위의 코드를 보면 h1 엘레멘트를 생성하고 있으며 자바스크립트HTML을 동시에 작성하는 모습을 확인할 수 있다.

그런데 작성할때 몇가지 주의 할 사항이 있어서 정리해보았다.

사용자 정의 컴포넌트는 반드시 대문자로 시작

<div>,<span>과 같은 내장 컴포넌트 말고 사용자가 직접 정의하는 컴포넌트의 경우에는 대문자로 시작하는 것을 추천하고 있다.

import React from 'react';

// 올바른 사용법입니다. 아래는 컴포넌트이므로 대문자로 시작해야 합니다.
function Hello(props) {
  // 올바른 사용법입니다! 아래의 <div> 사용법은 유효한 HTML 태그이기 때문에 유효합니다.
  return <div>Hello {props.toWhat}</div>;
}

function HelloWorld() {
  // 올바른 사용법입니다! React는 <Hello />가 대문자로 시작하기 때문에 컴포넌트로 인식합니다.
  return <Hello toWhat="World" />;
}

그외에도 많은 사용법이 있는데, 하나씩 공부하면서 정리를 해봐야겠다. 할게 너무나도 많다 ..

출처 바로가기