Frontend/SolidJS
[Solid] Syntax | 06. classList
Rayi
2024. 6. 21. 13:10
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