라이브러리/MUI

[MUI] 스타일 프롭스 추가 | shouldForwardProp 사용방법

순코딩 2025. 4. 22. 13:41

설치

npm install @emotion/is-prop-valid

 

shouldForwardProp 정의

src / utils / mui.ts
import isPropValid from "@emotion/is-prop-valid";

export const shouldForwardProp = (prop: PropertyKey) =>
  typeof prop === "string" && isPropValid(prop) && !prop.startsWith("$");

 

shouldForwardProp  사용

src / components / Example.tsx
================================= shouldForwardProp 임포트
import { shouldForwardProp } from "@/utils/mui";


================================= 컴포넌트 사용
<Container $preview={true}/>


================================= 스타일 정의
type ContainerProps = {
  $preview: boolean;
};

const Container = styled(Stack, { shouldForwardProp })<ContainerProps>`
  border: ${({ $preview, theme }) => ($preview ? `3px dashed black` : "none")};
`;

 

예시 코드