(2024년 12월 임시 저장 글)
// JSX
function App{
return(
<h1>하이루</h1>
);
}
//위와 같이 작성하면 바벨이 다음 코드(자바스크립트)로 해석해 줌
function App(){
return React.createElement("h1", null, "하이루");
}
→ 하나의 파일에 JS와 HTML을 동시에 작성 ⇒ 편리하다.
특징
반드시 부모 요소 하나가 감싸는 형태여야 함
// 옳은 예
function App() {
return (
<div>
<div>Hello</div>
<div>GodDaeHee!</div>
</div>
);
}
function App() {
return (
// 빈 태그도 가능
<>
<div>Hello</div>
<div>GodDaeHee!</div>
</>
);
}
//틀린 예
// Fail to compile
// parsing error : adjacent JSX elements be wrapped in an enclosing tag
// Did you want a JSX fragment <>...</>?
function App() {
return (
<div>Hello</div>
<div>GodDaeHee!</div>
);
}
자바스크립트 표현식
내부에서는 if문, for문 대신 삼항 연산자(조건부 연산자) 사용
태그에 class 적용 시 class —> className 이용
css 적용 : 카멜 표기법 사용
const Header = () => {
return(
<div>
<header>
<h1 className={headerClass}
style={style}>WEB</h1>
World Wide Web!
</header>
</div>
)
}
const JsxEx1 = () => {
const style = {
backgroundColor: 'green',
fontSize: '12px'
}
const headerClass = {
backgroundColor: 'green',
fontSize: '12px'
}
}
const JsxEx2 () => {
return(
<div>{
() => {
if(login === "yes"){
return <div>회원입니다.</div>
}else{
return <div>비회원입니다.</div>
}
}
}
</div>
)
}
삼항 연산자는 {}에서 사용 가능# JSX
// JSX
function App{
return(
<h1>하이루</h1>
);
}
//위와 같이 작성하면 바벨이 다음 코드(자바스크립트)로 해석해 줌
function App(){
return React.createElement("h1", null, "하이루");
}