Skip to content

useQwikClasslist

Prefer using the class prop as a classlist over the classnames helper.

This rule encourages the use of class prop which natively supports strings, objects, and arrays, enabling fine-grained reactivity and optimal performance. Using utilities like classnames can interfere with Qwik’s reactivity model and prevent the framework from optimizing component updates. Prefer using the built-in class prop for best results.

For more information, see: Qwik documentation on class bindings

<div class={classnames({ active: true, disabled: false })} />
code-block.jsx:1:6 lint/nursery/useQwikClasslist ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid third-party classnames utilities with Qwik components

> 1 │ <div class={classnames({ active: true, disabled: false })} />
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

Qwik’s built-in class prop handles:
- Conditional classes via objects: class={{ active: isActive }}
- Dynamic string concatenation
- Array combinations

External utilities break Qwik’s:
- Fine-grained reactivity tracking
- Resumability optimizations

Use native Qwik class binding as shown in Qwik Rendering: Class Bindings (Official Docs).

<div class={{ active: true, disabled: false }} />
biome.json
{
"linter": {
"rules": {
"nursery": {
"useQwikClasslist": "error"
}
}
}
}