Performance: Renderless components
MEDIUM IMPACT
Renderless components affect the rendering performance by minimizing unnecessary DOM nodes and reducing layout complexity.
<script setup> import { useSomeLogic } from './useSomeLogic' const state = useSomeLogic() </script> <template> <slot v-bind="state" /> </template>
<template>
<div>
<slot />
</div>
</template>
<script setup>
// logic here
</script>| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Wrapper div around slot | Adds 1 extra node per instance | Triggers 1 reflow per instance | Increases paint area | [X] Bad |
| Renderless component with scoped slots | No extra nodes added | No extra reflows | Minimal paint cost | [OK] Good |