우리는 JS(자바스크립트)가 HTML로 구성한 웹의 동작을 구현할 수 있다고 알고 있다.
그렇다면 JSX는 무엇일까?
: 아래 변수를 한번 보자
const ash = <div>안상혁</div>;
더 쉽게 말하면 JavaScript 내부에 HTML을 써둔 것을 JSX라고 한다
: JSX로 작성한 문법이 어떻게 컴파일 되는지 알아보자.
<div className="sidebar" />
React.createElement(
'div',
{className: 'sidebar'},
null
)
: 태그에 속성을 주고 싶을때 JSX에서는 몇가지 지켜야할 규칙이 있다.
const hi = <input readOnly={true} />;
const myFavorite = {
food: <li>샐러드</li>,
animal: <li>dog</li>,
hobby: <li className="list-item">programming</li>
};
<div />
처럼 닫는 태그 없이 스스로 닫아준다 ): ()
괄호로 감싸 주어야 한다.
const good = (
<div>
<p>hi</p>
</div>
);
: 처음 시작하는 태그는 하나의 태그로 감싸주어야한다.
const right = (
<div>
<p>list1</p>
<p>list2</p>
</div>
);
<div>
로 감싸 준것 처럼 감싸준다.: 리액트를 쓰는 주된 이유일 것이다. 데이터 바인딩이 아주 쉬워진다.
function App () {
return (
<div>
<h1>{ 여기에 변수, 함수를 넣어 }</h1>
</div>
)
}
{}
컬리 브라켓 안에 그냥 넣으면 된다.import sanghyuk from './ash.jpg';
function App () {
return (
<div>
<img src={sanghyuk}</h1>
</div>
)
}
let ash = '안상혁'
function App () {
return (
<div>
<div className={안상혁}</div>
</div>
)
}