ELICE AI6/React

Elice) JSX

이동탁 2023. 1. 15. 02:53

JSX

 

1. JSX 란?

 

JSX는 함수 호출과 객체 생성을 위한 문법적 편의를 제공하는 JavaScript의 확장

HTML과 비슷하게 생겼으나 JavaScript로 HTML과 다른 부분이 있다.

 

const App = () => {
	return (
    <div>
    <p> Hello World </p>
    </div>
    )
   }

JSX를 실제 사용하게 되면 JS형식으로 Transcompile 된다.

 

 


 

 

 

2. JSX의 장점

 

1. 개발자의 편의성 향상

2. 협업에 용이 / 생산성 향상

3. 문법 오류와 코드량 감소

 

! HTML과의 차이점

 

1. HTML 태그 내에서 JavaScript 연산

2. class = className

3. style은 Object로

4. 닫는 태그는 필수로 사용

5. 최상단 element는 반드시 하나여야 한다.

 

// style을 object로 사용하는 예시

<div className = "HelloWorld" style = {{padding : 5, color : "red"}}>
	안녕하세요 </br>
    반갑습니다.
</div>

1) 중괄호를 두개 쓰는 이유 = 첫번째 중괄호는 자바스크립트 표현을 사용하겠는 뜻이며,

두번째 중괄호는 자바스크립트 오브젝트의 시작을 알리는 의미

 

2) br , input의 원래 닫는 태그가 없는 태그들에도 꼭 닫는 태그를 써야한다.

ex) <br /> , <input />

 

3) Inline style의 Property name은 Camel Case로 사용

ex) font-size = fontSize , padding-left = paddingLeft

 

4) 최상단 element

 

const Test = () => {
	return (
    <div> Test1 </div>
    <div> Test2 </div>
    )
   }
   
// 최상단 element가 하나가 아니기 때문에 error가 발생한다.

const Test2 = () => {
	return (
    <>
    <div> Test1 </div>
    <div> Test2 </div>
    </>
    )
   }
   
// <>를 이용하여 최상단 element를 만들어준다.

<> , </> 는 React.Fragment로 최상단 element를 만들어 주기 위한 표시이다.

실제 렌더링에서는 React.Fragmen의 내부 내용만 표시가 된다.

'ELICE AI6 > React' 카테고리의 다른 글

Elice) Props & State  (1) 2023.01.25
Elice) Component  (0) 2023.01.15
Elice) React  (1) 2023.01.13