반응형
원문 : Variants – a quick tip for better React components | Swizec Teller
페이지 내 조건부 렌더링이 필요한 경우가 있다.
플래그를 마구 추가한다.
플래그 하나는 0,1 바이너리다
한개 추가할 때마다 2의 제곱수 만큼 케이스가 늘어난다.
복잡한 조건부 렌더링을 varient 변수를 도입해서 해결해보자.
어떤 조건에 따라 어떤 컴포넌트들이 나타나는지 쉽게 이해할 수 있다.
const Header = (props: { variant: "homepage" | "funnel" }) => {
let hideMenu, showClose, showSignup
switch (variant) {
case "homepage":
showSignup = true
case "funnel":
hideMenu = true
showClose = true
}
return (
<Box>
<Logo />
{!hideMenu && <MenuItem />}
{!hideMenu && <MenuItem />}
{!showSignup && <UserMessages />}
{!showSignup && <UserProfile />}
{showSignup && <SignupButton />}
{showClose && <CloseButton />}
</Box>
)
}
적용 예제 구경하기 : runtime-bash-c37ve - CodeSandbox
반응형
'FrontEnd' 카테고리의 다른 글
Context API와 React.memo (0) | 2022.02.14 |
---|---|
Context API(컨텍스트API)는 Dependency Injection(의존성 주입) 수단이다. (1) | 2022.02.11 |
[React][Remix][tutorial]React-Remix를 이용하여 개발자 블로그 만들기. (0) | 2022.01.27 |
[React][CSS] css를 styled-component로 변환하기 (0) | 2022.01.18 |
[CSS][Layout][Relative layout][z-index 관리하기] (0) | 2022.01.16 |