728x90
반응형
컴포넌트를 조건부 렌더링하는 부분에 대하여 정리합니다.
코드가 간단하여 굳이 이렇게 안쓰고 더 짧게 쓰는 방법이 있으나
함수형 컴포넌트 작성시 복잡하게 사용할 경우도 있을듯 하여 아래처럼 정리합니다.
1. if문을 사용한 조건부 렌더링
const IsRight = () => {
return <button>맞습니다.</button>;
};
const IsWrong = () => {
return <button>틀립니다.</button>;
};
function Parent() {
const Month = 2;
return (
<div className="App">
<div>지금은 2월입니까?</div>
<Child month={Month} />
</div>
);
}
function Child({ month }) {
if (month === 2) {
return <IsRight />;
} else return <IsWrong />;
}
2. 인라인 구문 > 삼항 연산자를 사용한 렌더링
const IsRight = () => {
return <button>맞습니다.</button>;
};
const IsWrong = () => {
return <button>틀립니다.</button>;
};
function App() {
const Month = 2;
return (
<div className="App">
<div>지금은 2월입니까?</div>
{ Month === 2 ? <IsRight /> : <IsWrong /> }
</div>
);
}
3. 인라인 구문 > &&연산자를 사용한 렌더링
const IsRight = () => {
return <button>맞습니다.</button>;
};
const IsWrong = () => {
return <button>틀립니다.</button>;
};
function App() {
const Month = 2;
return (
<div className="App">
<div>지금은 2월입니까?</div>
{ Month === 2 && <IsRight /> }
</div>
);
}
사실 길지않은 코드기 때문에 아래처럼 사용하는것이 제일 간단하다.
function App() {
const Month = 2;
return (
<div className="App">
<div>지금은 2월입니까?</div>
{ Month === 2 && <button>맞습니다.</button> }
{/* or */}
<div>지금은 2월입니까?</div>
{ Month === 2 ? <button>맞습니다.</button> : <button>틀립니다.</button> }
</div>
);
}
모든 결과는 아래 사진과 같습니다.
4. 화면에 렌더링 되지 않아야 하는 경우 null로 처리
function App() {
const Month = 2;
return (
<div className="App">
<div>2월이라면 아무것도 표시하지 않습니다</div>
{ Month === 2 && null }
</div>
);
}
✔️ 참고
728x90
반응형
'REACT' 카테고리의 다른 글
[ React ] React Hooks 정리 2 - useEffect (0) | 2022.03.15 |
---|---|
[ React ] React Hooks 정리 1 - useState (0) | 2022.03.14 |
[ REACT ] 컴포넌트, props 사용하기 (0) | 2022.01.05 |
[ REACT ]JSX, JSX문법과 예제 정리 (0) | 2022.01.04 |
[ REACT ] reset css 하는 방법 + npm으로 설치 (0) | 2022.01.02 |