young
is this it
young
전체 방문자
오늘
어제
  • 분류 전체보기 (143)
    • 웹_프론트엔드 (1)
      • 로드맵 챌린지 (73)
      • Svelte (2)
      • React (6)
      • JavaScript (8)
      • TypeScript (2)
      • HTML+CSS (5)
    • 웹_백엔드 (0)
      • Django (0)
    • 빅데이터 (33)
      • R (30)
      • Python (2)
    • 기타 (11)
      • git (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • bem
  • css후처리기
  • ggplot
  • 보안취약점
  • 웹보안
  • rstudio지도정보
  • css네이밍
  • ggmap()
  • vcs
  • ssl
  • 구글맵api
  • form
  • 태스크러너
  • 인증
  • 대칭키
  • owasp
  • 버전관리
  • 암호화
  • 공개키
  • Regex

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
young

is this it

웹_프론트엔드/React

[JSX] 조건에 따른 JSX 작성 패턴 - if, switch, object 구조

2023. 7. 19. 16:00
반응형

리액트에서 JSX 작성 중에 조건문이 필요할 때 주로 삼항연산자를 사용하고, case가 다양할 때에는 switch문을 사용하는 편이다. 삼항 연산자가 워낙에 간편하다 보니 if 문을 사용한적이 없는 것 같은데, 아래처럼 사용할 수 있다.

 

1. JSX 내에서 if 문

function Component() {
	return (
    	<section>
      {(() => {
        if (someCase) {
          return (
            <div>someCase</div>
          )
        } else if (otherCase) {
          return (
            <div>otherCase</div>
          )
        } else {
          return (
            <div>catch all</div>
          )
        }
      })()}
    </section>
    )
}

 

2. JSX 내에서 switch 문

function Component() {
	return (
    	<div>
      {(() => {
        switch (status) {
          case 'info':
            return <Info text={text} />;
          case 'warning':
            return <Warning text={text} />;
          case 'error':
            return <Error text={text} />;
          default:
            return null;
        }
      })()}
    </div>
    )
}

 

3. JSX 내에서 object 구조 사용하기

switch 문과 비슷한 상황에서 사용할 수 있는데, switch 문보다 좀 더 깔끔한 느낌이 든다.

function Component() {
    const [phase, setPhase] = useState(1)
    return (
        <div>
          {
            { 
               1 : <p>1단계</p>,
               2 : <p>2단계</p>,
               3 : <p>3단계</p>
            }[phase]
          }
        </div>
    )
}
반응형

'웹_프론트엔드 > React' 카테고리의 다른 글

[리액트] gh-pages 배포 후 새로고침시 404 오류  (1) 2024.03.17
[리액트] react-daum-postcode 우편번호 검색 컴포넌트 예시  (0) 2023.11.23
[리액트] 컴파운드 컴포넌트 패턴으로 작성하는 모달 컴포넌트 (+ dialogue 태그 활용)  (0) 2023.09.18
리액트 JSX/TSX에서 switch 문법 사용하기  (0) 2023.02.03
[React.ts] props로 setState 넘길 때 타입 지정하는 방법  (0) 2022.12.19
    '웹_프론트엔드/React' 카테고리의 다른 글
    • [리액트] react-daum-postcode 우편번호 검색 컴포넌트 예시
    • [리액트] 컴파운드 컴포넌트 패턴으로 작성하는 모달 컴포넌트 (+ dialogue 태그 활용)
    • 리액트 JSX/TSX에서 switch 문법 사용하기
    • [React.ts] props로 setState 넘길 때 타입 지정하는 방법
    young
    young

    티스토리툴바