Además de las formas usuales de utilizar hojas de estilos, y otras integraciones del tipo Talwind, Qwik presenta dos métodos que nos hacen dar un salto de nivel en cuanto a rendimiento: useStyles$
y useStylesScoped$
. Vamos a ver cómo se aplica cada una de ellas.
Un ejemplo de useStyles$
puede tener lugar en el archivo root.tsx
, que es donde se importa el global.css
. Podemos transformar el código para importar el css de la siguiente forma:
// Path: root.tsx
import { component$, useStyles$ } from "@builder.io/qwik";
import {
QwikCityProvider,
RouterOutlet,
ServiceWorkerRegister,
} from "@builder.io/qwik-city";
import { RouterHead } from "./components/router-head/router-head";
import styles from "./global.css?inline";
export default component$(() => {
useStyles$(styles);
return (
<QwikCityProvider>
<head>
<meta charSet="utf-8" />
<link rel="manifest" href="/manifest.json" />
<RouterHead />
</head>
<body lang="en">
<RouterOutlet />
<ServiceWorkerRegister />
</body>
</QwikCityProvider>
);
});
Y un ejemplo de useStylesScoped$
lo tienes en el estilo que aplicas en por ejemplo el componente Button
// Path: src/components/button/button.css
button {
background: green;
}
// Path: src/components/button/button.tsx
import { component$, useStylesScoped$ } from "@builder.io/qwik";
import styles from "./button.css?inline";
export const Button = component$(() => {
useStylesScoped$(styles);
return <button>Botón estilado</button>;
});
Aquí tienes un vídeo en el que ves la interacción de ambos métodos en acción. Verás que hay dos páginas: ambas tendrán una serie de estilos globales, pero solamente la segunda cargará los estilos del button
Espero que te haya gustado esta lección. Vamos ahora a entrar de llenos en nuestro primer método de Qwik: useSignal
.