사용자 인터페이스를 만들기 위한 JavaScript 라이브러리
React “엘리먼트(element)” 를 생성한다.
JSX의 중괄호 안에는 유효한 모든 JavaScript 표현식을 넣을 수 있다.
{} 안 공간은 script 태그 공간 안이라고 생각하면 될 것 같다.
JSX는 한개의 태그만 생성할 수 있기 때문에 꼭! 태그가 두개 이상이라면 div와 같은 태그로 감싸주어야 한다.
const name = 'Josh Perez';
const element = <h1>Hello, {name}</h1>;
camelCase로 적는다.
JSX에서 class는 className로 적어야 한다.
const Sidebar = () => {
return (
<section className="sidebar" />
);
};
화면에 표시할 내용
엘리먼트를 생성한 이후에는 해당 엘리먼트의 자식이나 속성을 변경할 수 없다.
React 엘리먼트는 사용자 정의 컴포넌트로도 나타낼 수 있다.
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
const element = <Welcome name="Sara" />;
컴포넌트는 JavaScript 함수와 유사하다.
대문자
로 시작한다.let langs = ["JavaScript", "HTML", "Python"];
let viewLangs = langs.map((it) => {
return <p>{it}</p>;
});
return (
<div>
{viewLangs}
</div>
);
let langs = ["JavaScript", "HTML", "Python"];
let viewLangs = () => {
return langs.map((it) => {
return <p>{it}</p>;
});
};
return (
<div>
{viewLangs()}
</div>
);
let langs = ["JavaScript", "HTML", "Python"];
return (
<div>
{langs.map((it) => (
<p>{it}</p>
))}
</div>
);
()
를 사용하면 () 안의 값이 return 값
이 된다.