1

Uso de hidratación de componentes en astro

Para usar la directiva client: en Astro y habilitar la hidratación de componentes, sigue estos pasos:
Instala Astro: Asegúrate de tener Astro instalado en tu proyecto. Si no lo tienes, puedes instalarlo usando npm:
npm install astro
Crea un Componente React: Crea un componente React que quieras hidratar. Por ejemplo, crea un archivo Counter.jsx en la carpeta src/components:
// src/components/Counter.jsx

import React, { useState } from ‘react’;

const Counter = () => {
const [count, setCount] = useState(0);

return (
    <div>
        <p>Count: {count}</p>
        <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
);

};

export default Counter;
Usa el Componente en una Página Astro: Importa y usa el componente en una página Astro, habilitando la hidratación con la directiva client:. Por ejemplo, en src/pages/index.astro:


import Counter from ‘…/components/Counter.jsx’;

<html>
<head>
<title>My Astro Site</title>
</head>
<body>
<h1>Welcome to My Astro Site</h1>
<Counter client:load />
</body>
</html>

En este ejemplo, client:load indica que el componente Counter debe hidratarse y ejecutarse en el cliente cuando la página se carga.
Opciones de Hidratación: Astro ofrece varias opciones de hidratación que puedes usar según tus necesidades:
client:load: Hidrata el componente cuando la página se carga.
client:idle: Hidrata el componente cuando el navegador está inactivo.
client:visible: Hidrata el componente cuando se vuelve visible en la ventana de visualización.
client:media="(query)": Hidrata el componente cuando se cumple una consulta de medios específica.
client:only=“framework”: Hidrata el componente solo en el framework especificado (por ejemplo, react).
Aquí tienes un ejemplo usando client:visible:


import Counter from ‘…/components/Counter.jsx’;

<html>
<head>
<title>My Astro Site</title>
</head>
<body>
<h1>Welcome to My Astro Site</h1>
<Counter client:visible />
</body>
</html>

Con estos pasos, puedes habilitar la hidratación de componentes en Astro usando la directiva client:

Escribe tu comentario
+ 2