Lite Components
In addition to standard Qwik components that have all of its lazy-loaded properties, Qwik also supports lightweight (lite) components that act more like traditional frameworks.
// Lite component: declared using a standard function.
function MyButton(props: { text: string }) {
return <button>{props.text}</button>;
}
// Component: declared using `component$()`.
const MyApp = component$(() => {
return (
<div>
Some text:
<MyButton text="Click me" />
</div>
);
});
In the above example, the MyButton
is a lite component. Lite components' lazy loading is merged with the regular component they are part of. In this case:
MyButton
will get bundled with theMyApp
render function.- Whenever the render function of
MyApp
executes, it will also force the execution ofMyButton
. MyButton
does not have a host element.
You can think of lightweight components as being inlined into the component, where they are instantiated.