Performance: Component composition
Component composition affects rendering speed and DOM complexity by how components are nested and reused.
<Parent> <ChildWithContent /> </Parent>
<Parent>
<Child>
<GrandChild />
</Child>
</Parent>| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Deeply nested small components | High number of nodes | Multiple reflows | High paint cost | [X] Bad |
| Shallow, combined components | Fewer nodes | Single reflow | Lower paint cost | [OK] Good |
Child.svelte inside Parent.svelte?import Child from './Child.svelte'.<Child /> with capital C matching import name. <script>import Child from './Child.svelte';</script><Child /> matches this exactly.App.svelte?
// Child.svelte
<h2>Hello from Child</h2>
// App.svelte
<script>
import Child from './Child.svelte';
</script>
<main>
<h1>Welcome</h1>
<Child />
</main>
// Parent.svelte
<script>
import Child from './Child.svelte';
</script>
<main>
<child />
</main>
Child with capital C.<child /> is lowercase and invalid.Dashboard.svelte that shows a Header, a Sidebar, and a Content component. Which approach correctly composes these components to keep the layout organized and reusable?<script>import Header from './Header.svelte'; import Sidebar from './Sidebar.svelte'; import Content from './Content.svelte';</script>
<div class='dashboard'>
<Header />
<Sidebar />
<Content />
</div> imports Header, Sidebar, and Content correctly.<script>import Header from './Header.svelte'; import Sidebar from './Sidebar.svelte'; import Content from './Content.svelte';</script>
<div class='dashboard'>
<Header />
<Sidebar />
<Content />
</div> uses a container div to organize components, making layout clear and reusable.<script>import Header from './Header.svelte';</script>
<Header />
<Sidebar />
<Content /> misses imports for Sidebar and Content. <script>import * from './components';</script>
<Header /><Sidebar /><Content /> uses invalid import syntax. <script>import Header from './Header.svelte'; import Sidebar from './Sidebar.svelte'; import Content from './Content.svelte';</script>
<Header />
<Sidebar /> misses Content usage.Pass the test and this pattern moves unknown