728x90
조건부 렌더링이란 ?
특정 조건에 따라 다른 결과물을 렌더링 하는 것
1. isSpecial={true}
1) App.js
- props 값 설정을 생략하면 ture 한 것과 같다 (isSpecial = isSpecial={true})
import React from 'react';
import Hello from './Hello';
import Wrapper from './Wrapper';
function App() {
return (
<Wrapper>
<Hello name="react" color="red" isSpecial={true}/>
<Hello color="pink" />
</Wrapper>
)
}
export default App;
2) hello.js
- 삼항연산자 : isSpecial 값이 true 라면 <b>*</b> 를, 그렇지 않다면 null 을 보여줌
-> null, false, undefined 를 렌더링하게 된다면 아무것도 나타나지 않게됨
import React from 'react';
function Hello({ color, name, isSpecial }) {
return (
<div style={{ color }}>
{ isSpecial ? <b>*</b> : null }
안녕하세요 {name}
</div>
);
}
Hello.defaultProps = {
name: '이름없음'
}
export default Hello;
- &&사용 : isSpecial && <b>*</b> 의 결과는 isSpecial 이 false 일땐 false 이고, isSpecial이 true 일 땐 <b>*</b> 이 됨
import React from 'react';
function Hello({ color, name, isSpecial }) {
return (
<div style={{ color }}>
{isSpecial && <b>*</b>}
안녕하세요 {name}
</div>
);
}
Hello.defaultProps = {
name: '이름없음'
}
export default Hello;
3) 결과
728x90
'FRONT' 카테고리의 다른 글
[React] input 상태 관리하기(input이 한 개일 때, input이 한 개 이상일 때) (0) | 2023.07.17 |
---|---|
[React] useState를 통해 컴포넌트에서 바뀌는 값 관리 (클릭 이벤트) (0) | 2023.07.17 |
[React] props를 통해 컴포넌트에게 값 전달하는 법 (0) | 2023.07.17 |
[React] JSX의 기본 규칙 (0) | 2023.07.17 |
[React] 리액트 컴포넌트 만들기(기본) (0) | 2023.07.17 |