리액트
[React] JSX 알아가기
코딩하는둥이
2023. 1. 5. 11:52
JSX( A syntax extension to javaSctript)
- 자바스크립트의 문법을 확장 시킴
- XML + HTML = JavaScript
element를 h1에 저장
const element = <h1>Hello, World!</h1>;
역할
- 내부의 html코드를 javascript으로 변환함
React.createElement(
type, //Element 유형과 타입
[props], //속성
[...children] //Element포함하고 있는 자식
)
장점
1) 간결한 코드
//JSX 사용함
<div>Hello, {name}<div>
//JSX 사용안함
React.createElement('div',null,'hello,${name}');
2) 가독성 향상
3) Injection Attacks 방어
사용법
... XML/HTML
{JavaScript 코드}
... XML/HTML
html 속성에 자바스크립트 넣기
function getGreeting(user){
if(user){
return <h1>Hello,{fotmatNsme(user)}!</h1>; // {fotmatNsme(user)} 자바스크립트
}
return <h1>Hello, Stranger.</h1>
}
태그 속성에 값을 넣는 방법
// 큰따음표 사이에 문자열을 넣음
const element = <div tabIndex="0"></div>;
// 중괄호 사이에 자바스크립트 코드를 넣음
const element = <img src={user.avatarUrl}></img>
자식을 정의하는 방법
const element = (
<div>
<h1>안녕</h1>
<h2>리액트 공부</h2>
</div>
);