728x90
728x90
asChild 속성
들어가며
- @asChild@ 속성에 대해 정리해본다.
asChild 속성
개념
- Radix UI와 같은 라이브러리에서 사용되는 속성
- 컴포넌트가 래핑(Wrapping)된 자식 컴포넌트의 스타일이나 기능을 그대로 유지하면서 특정 기능을 제공하기 위해 사용된다.
의미
- 자식 요소를 그대로 사용한다.
- 래핑된 컴포넌트가 새로운 DOM 노드를 생성하지 않고, 해당 자식 요소의 DOM을 그대로 사용하여 기능만 추가한다.
- 불필요한 DOM 노드가 추가되지 않아 HTML 구조를 깔끔하게 유지하고, 스타일이 깨지지 않도록 보장한다.
사용 예
<DropdownMenuTrigger asChild>
<Button>Menu</Button>
</DropdownMenuTrigger>
⇒ @<Button>@은 @<DropdownMenuTrigger>@의 자식이지만, @<DropdownMenuTrigger>@가 새로운 DOM 노드를 만들지 않는다.
⇒ 대신 @<Button>@ 자체가 @DropdownMenuTrigger@로 작동하게 된다.
사용하면 좋은 경우
- 추가하는 래핑 노드가 없기 때문에 스타일이 변경되지(깨지지) 않는다.
- 기존 버튼이나 다른 컴포넌트에 메뉴 트리거 기능을 쉽게 추가할 수 있다.
@asChild@를 사용하면, 불필요한 DOM 생성 없이 자식 요소의 스타일과 구조를 그대로 유지하면서 추가적인 기능을 적용할 수 있다.
참고 사이트
728x90
728x90
'Framework > Tailwind CSS' 카테고리의 다른 글
[Tailwind CSS] sr-only 클래스 (0) | 2024.11.05 |
---|---|
[Tailwind CSS] shadcn/ui (0) | 2024.10.20 |
[Tailwind CSS] daisyUI 테마 설정하기 (0) | 2024.10.01 |
[Tailwind CSS] 테일윈드 설정 파일(tailwind.config.js)에서 플러그인(Plugin) 추가할 때 "'require' is not defined" 오류가 뜰 때 해결법 (0) | 2024.09.29 |
[Tailwind CSS] daisyUI (1) | 2024.09.29 |
[Tailwind CSS] 자주 사용되는 테일윈드 CSS 클래스 정리 (0) | 2024.09.27 |
[Tailwind CSS] Tailwind CSS (0) | 2024.09.27 |
[Tailwind CSS] whitespace-pre-wrap 클래스 (0) | 2024.06.02 |