[React] 조건부 렌더링

앤쨩·2021년 11월 11일
0

React

목록 보기
6/11
post-thumbnail

👓 조건부 렌더링

특정 조건에 따라 다른 결과물을 렌더링 하는 것을 말한다.


Hello 컴포넌트에서는 isSpecial이 true인지 false인지에 따라서 하잇 이라는 문구를 삼항연산자를 이용해 보여지게 하겠다.
<app.js>

import React from 'react';
import Hello from './components/hello';
export default function App () {
  return (
    <>
      <Hello name="anne" color="pink" isSpecial={true} />
      <Hello color="pink" />
    </>
  );
}

<hello.js>

import React from 'react';
export default function Hello ({ color, name, isSpecial }) {
  return (
    <div style={{ color }}>
      { isSpecial ? '하잇' : '땡' }
      안녕하세요 {name}
    </div>
  );
}
Hello.defaultProps = {
  name: '이름없음'
}


📃 && 연산자 사용하기
단순하게 특정 조건이 true 이면 보여주고 그렇지 않으면 숨겨주기 때문에 이러한 상황에서는 && 연산자를 사용해서 처리하는 것이 더 간편하다.
<app.js>

import React from 'react';
import Hello from './components/hello';
export default function App () {
  return (
    <>
      <Hello name="anne" color="pink" isSpecial />
      {/*
        컴포넌트의 props 값을 설정하게 될 때
        props 이름만 작성하고 값 설정을 생략한다면
        이를 true로 설정한 것으로 간주한다.
      */}
      <Hello color="pink" />
    </>
  );
}

<hello.js>

import React from 'react';
export default function Hello ({ color, name, isSpecial }) {
  return (
    <div style={{ color }}>
      { isSpecial && '하잇' }
      안녕하세요 {name}
    </div>
  );
}
Hello.defaultProps = {
  name: '이름없음'
}

profile
Front-End Developer

0개의 댓글