[React-복습] 2. JSX
JSX 에 대한 스케치 포스팅이다.
01. JSX 소개
아래 태그 문법은 문자열도, HTML도 아닌 JSX
로 JavaScript를 확장한 문법이다. JSX라고 하면 템플릿 언어가 떠오를 수도 있지만, JavaScript의 모든 기능이 포함되어 있다.
UI를 렌더링하기 위해 React와 함께 사용되며 JSX는 React “엘리먼트(element)” 를 생성한다.
JSX 표현식
const name = 'Josh Perez';
const element = <h1>Hello, {name}</h1>;
01-1. ES6 없이 사용하는 React
일반적인 React 컴포넌트 사용
class Greeting extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
ES5 방법 React 컴포넌트 사용
create-react-class 모듈을 사용할 수도 있다
var createReactClass = require('create-react-class');
var Greeting = createReactClass({
render: function() {
return <h1>Hello, {this.props.name}</h1>;
}
});
01-2. JSX 없이 사용하는 React
빌드 환경에서 컴파일 설정을 하고 싶지 않을 때 JSX 없이 React를 사용하는 것은 특히 편리하다.
JSX로 작성된 코드 예제
class Hello extends React.Component {
render() {
return <div>Hello {this.props.toWhat}</div>;
}
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Hello toWhat="World" />);
JSX를 사용하지 않은 코드 예제
class Hello extends React.Component {
render() {
return React.createElement('div', null, `Hello ${this.props.toWhat}`);
}
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(React.createElement(Hello, {toWhat: 'World'}, null));
[참고]