SVG 확장자 파일을 React 컴포넌트로 변환하기 위해 svgr
패키지를 설치하였습니다.
의존성 설치 후 작업 진행 부탁드립니다.
SVG 파일 경로 끝에 ?react
키워드를 추가하면 해당 파일이 컴포넌트로 변환됩니다.
import GoogleIcon from '@assets/icons/icon-google.svg?react';
export default function Example() {
return (
<>
<GoogleIcon />
</>
)
}
컨텐츠를 중앙에 배치하는 InnerContainer
컴포넌트를 구현했습니다.
maxWidth
값을 string
타입으로 전달하면 해당 값에 따라 최대 너비를 설정하고, 컨텐츠를 중앙에 배치합니다.
type InnerContainerProps = {
maxWidth: string;
children: ReactNode;
} & HTMLAttributes<HTMLDivElement>;
import { InnerContainer } from '@components/common';
export default function Example() {
return (
<InnerContainer maxWidth="1300px">
<p>Hello World!</p>
</InnerContainer>
)
}
유연하게 엘리먼트, 색상, 크기를 설정할 수 있는 타이포그래피 컴포넌트를 구현했습니다.
element
는 HTML 태그를 문자열로 전달하며, 선택적이므로 기본값은 div
입니다.
size
는 문자열로 크기를 지정하고, color
는 palettes
에 정의된 색상만을 사용할 수 있도록 설정하였습니다.
type Props = {
element?: keyof JSX.IntrinsicElements;
size?: string;
color?: PalettesTypes; // palletes에 정의된 색상의 key값을 주입합니다.
style?: React.CSSProperties;
children: React.ReactNode;
};