[Solid] Syntax | 06. classList

2024. 6. 21. 13:10·Frontend/SolidJS

Solid는 class를 사용해 엘리먼트의 className을 설정할 수 있습니다.

const [current, setCurrent] = createSignal('bar');

// current signal값이 foo라면 class='selected'로 설정합니다.
<button
  class={current() === 'foo' ? 'selected' : ''}
  onClick={() => setCurrent('foo')}
>foo</button>

여기서 class 대신 classList를 사용하면 조건문을 좀 더 편리하게 작성할 수 있습니다.

classList는 {class이름 : 조건} 형식의 객체입니다.

조건이 참이면 class이름을 반환하고, 거짓이면 삭제됩니다.

const [current, setCurrent] = createSignal('bar');

// current signal의 값이 'foo'이면 className='selected'가 됩니다.
<button
  classList={{selected: current() === 'foo'}}
  onClick={() => setCurrent('foo')}
>foo</button>

CSS 모듈에서 받은 이름을 동적으로 적용할 수도 있습니다.

import { active } from "./style.module.css"

<div classList={{ [active]: isActive() }} />
728x90

'Frontend > SolidJS' 카테고리의 다른 글

[Solid] Syntax | 08. props  (0) 2024.06.21
[Solid] Syntax | 07. ref  (0) 2024.06.21
[Solid] Syntax | 05. onMount & onCleanup  (0) 2024.06.20
[Solid] Syntax | 04. Control Flow  (0) 2024.06.20
[Solid] Syntax | 03. Memo  (0) 2024.06.20
'Frontend/SolidJS' 카테고리의 다른 글
  • [Solid] Syntax | 08. props
  • [Solid] Syntax | 07. ref
  • [Solid] Syntax | 05. onMount & onCleanup
  • [Solid] Syntax | 04. Control Flow
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    backend
    ts
    ReactNative
    review
    vscode
    CSS
    Git
    nodejs
    Three
    python
    CS
    ML
    SOLID
    react
    mongo
    Express
    expo
    postgresql
    GAN
    DB
    PyTorch
    ps
    js
    CV
    modal
    frontend
    figma
    API
    deploy
    PRISMA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[Solid] Syntax | 06. classList
상단으로

티스토리툴바