JSX란? JSX 사용법

Posted by : on

Category : react


Pasted image 20240505144527.png Pasted image 20240505144543.png Pasted image 20240505144709.png


주의사항

  1. 중괄호 내부에는 js 표현식만 넣을 수 있다.
    • 변수, 삼항연산자, 연산자 등만 된다. 조건문이나 반복문은 안된다
  2. 숫자,문자열,배열 값만 렌더링된다.
    • boolean 이나 null undefined 값은 화면에 렌더링 안된다.
    • 객체도 값을 넣은게 아니라 객체 자체를 그대로 렌더링 할 수 없다.
  3. 모든 태그는 닫혀 있어야 한다. 여는 태그가 있으면 무조건 닫는 태그가 있어야 한다.
  4. 최상위 태그는 반드시 하나 여야 한다. 여려 태그가 최상위로 있는게 아니라 하나의 태그로 묶어야한다.

Pasted image 20240505145512.png 조건에 따라 return을 할 수 있다.


Pasted image 20240114140639.png Pasted image 20240114141209.png

이런식으로 내가 만들고싶은 JSX를 변수에 넣어 컴포넌트로 만든다음 export default 변수를 통해서 밖으로 내보내준다. Pasted image 20240114141259.png

그다음 사용 할 파일에 import해줘서 경로 맞춰주고 jsx로 사용하면 끝


fragment

JSX는 반드시 최상위 부모태그를 가지고있어야한다는 리액트 문법이 존재한다. 이럴때 사용하편 편리한것이 react fragment라는 것이다. fragment로 최상위 태그를 대체 할 수 있다. react 기능이기 때문에 먼저

 import REact from 'react'

리액트를 불러온다. Pasted image 20240114143530.png

그다음 저렇게 React.Fragment로 감싸던 Pasted image 20240114143613.png

빈값으로 주던 둘중에 하나를 하면 된다.


JSX + JS값

Pasted image 20240114144846.png

이런식으로 호출하면 바로 넣어짐

대신 숫자나 문자, 수식만 된다. 배열이나 boolean 은 안된다.!!

수식은 예를 들면 Pasted image 20240114145235.png

이런식으로 사용 할 수 있다.


JSX + CSS

jsx 에서는 class라는 것을 못 쓴다. js 예약어이기 떄문이다. className 을 쓴다.

1 . import

Pasted image 20240114144153.png

이런식으로 css 파일을 임포트하면 그안에 정의된 선택자들에 따라서 스타일이 적용된다.

2 . inline

Pasted image 20240114144531.png

이런식으로 변수에 스타일 적어서 style={이안에 넣으면 된다.}


단락에 if문 넣기

<div style=>
       <button onClick={toggle}>on/off</button>
       {isvisible && <UnMounttest/>}
</div>

이렇게 선언하면 isvisible이 true 면 UnMounttest이 단락이 렌더링 되고 false면 UnMounttest가 렌더링이 안된다.


About 유재석
유재석

개발자 유재석 입니다. Web Developer.

Email : jaeseok9405@gmail.com

Website : https://github.com/yoo94