-
[2024-W16] 공부 정리Front-End/ETC 2024. 4. 18. 00:18
🍀 목차
class-variance-authority
tailwind-merge
storybook
용어tailwind CSS의 단점으로 꼽히며 css-in-js의 장점으로 꼽히는 동적 스타일링 도움을 주는 것들
cn, twMerge, clsx, cva
class-variance-authority
- shadcn/ui 설치 시 install 되는 tailwind의 동적 스타일링에 도움을 주는 라이브러리
- cva는 매우 작은 라이브러리, variant를 편하게 줄 수 있다.
tailwind-merge
- shadcn/ui 설치 시 install 되는 tailwind class들을 merge 시킬 때 도움을 주는 라이브러리
- shadcn/ui에서는
cn = clsx(조건부 렌더링에 도움) + twMerge
메서드를 utils로 제공
import { type ClassValue, clsx } from 'clsx'; import { twMerge } from 'tailwind-merge'; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); }
storybook
- UI 컴포넌트를 독립적으로 개발, 테스트, 문서화할 수 있도록 도와준다.
- UI를 스토리로 캡처한다. 특정 변형을 시연하여 모양과 동작 검증, 컴포넌트는 여러 스토리를 가질 수 있다.
- Chromatic으로 스토리북을 배포하면 팀 피드백에서도 작업을 공유, 시각적으로 확인할 수 있어 협업에 효율적임.
- 메인 페이지에 버튼을 렌더링 해서 테스트해 보곤 했는데 스토리북은 독립적으로 해당 컴포넌트의 여러 옵션을 손쉽게 테스트할 수 있어 좋았다.
- Addon으로 확장하여 다양한 기능을 추가함.
"@storybook/addon-links", // 스토리를 서로 연결함. linkTo(스토리 종류 이름, 스토리 이름). "@storybook/addon-essentials", // Docs, Controls, Backgrounds, Actions(이벤트와 상호작용 추적) 등이 포함된 essentials addon 모음. "@storybook/preset-create-react-app", // create-react-app을 위한 스토리북 구성 "@storybook/addon-onboarding", // 가이드 투어 제공 "@storybook/addon-interactions" // 시각적 디버깅 // 등등...
- meta로 메타데이터를 제공하는 걸로 이해. title, component, args 등 스토리에 대한 정보들을 표현
- TypeScript 4.9+를 사용 중이라면 satisfies operator로 엄격한 유형 검사를 받을 수 있다. 인터페이스에 작성된 필수 속성이 스토리에 포함되어있지 않으면 에러를 표시한다.
- autodocs의 기본값은 tag(선택적 문서화)이며, true/false 값을 사용하면 전역적으로 자동 문서를 활성화/비활성화할 수 있다.
용어
- MAU(Monthly Activity User) : 월별 활용 이용자, DAU는 Daily
- MVP(Minimum Viable Product) : 최소 기능 제품
- KPI(Key Performance Indicator) : 핵심성과지표
- PMF(Product Market Fit) : 제품/시장 적합도