React.js

태그된 유니온과 커스텀 타입가드를 이용한 다른 컴포넌트 랜더링

Dev갱이 2024. 7. 20. 16:38
728x90
return (
    <div>
      {IntroductionData && IntroductionData.list[0] && (
        <>
          {isTourist(IntroductionData.list[0]) && (
            <IntroductionTourist data={IntroductionData.list[0]} />
          )}
          {isCultural(IntroductionData.list[0]) && (
            <IntroductionCultural data={IntroductionData.list[0]} />
          )}
          {isFestival(IntroductionData.list[0]) && (
            <IntroductionFestival data={IntroductionData.list[0]} />
          )}
          {isTourCourse(IntroductionData.list[0]) && (
            <IntroductionTourCourse data={IntroductionData.list[0]} />
          )}
          {isLeports(IntroductionData.list[0]) && (
            <IntroductionLeports data={IntroductionData.list[0]} />
          )}
          {isAccomodation(IntroductionData.list[0]) && (
            <IntroductionAccomodation data={IntroductionData.list[0]} />
          )}
          {isShopping(IntroductionData.list[0]) && (
            <IntroductionShopping data={IntroductionData.list[0]} />
          )}
          {isRestaurant(IntroductionData.list[0]) && (
            <IntroductionRestaurant data={IntroductionData.list[0]} />
          )}
        </>
      )}
    </div>
  );

 

그렇다 지저분해도 너무 지저분하다! 가독성이 너무 안좋다. 내가 작성 했던 state 값에 따른 다른 페이지 랜더링 방법과 태그된 유니온을 이용하여 가독성 좋은 컴포넌트 랜더링을 할 수 있게 수정 해보겠다.
[작성블로그](https://threeyears.tistory.com/515)
728x90