V tomto návodu se naučíš, jak přidat React do své Astro aplikace. Tím získáš možnost vytvářet moderní React komponenty a integrovat je do své aplikace. Projdeme si potřebné kroky k přípravě tvé Astro aplikace pro React a vytvoření jednoduché komponenty.

Nejdůležitější poznatky

  • Musíš nainstalovat balíček React a příslušné zásuvné moduly.
  • Struktura tvých komponent v Astro se liší od čistého HTML.
  • Aby se tvoje React komponenty rendrovaly v prohlížeči, musíš použít atribut client:only.

Krok za krokem návod

Pro přidání React do tvé Astro aplikace postupuj následovně:

Nejprve si musíš být jistý, že tvůj vývojový server už neběží. Můžeš to udělat tím, že zrušíš příkaz npm run dev. Je to důležité, abys zajistil, že nebudeš mít konflikty během instalace nových závislostí.

Integrace Reactu do tvé Astro aplikace

Nyní jsi připraven oficiálně integrovat React. K tomu použij příkaz npx astro add react. Tímto příkazem přidáš potřebné balíčky podporující React do tvé Astro aplikace.

Poté, co si budeš muset odpovědět, zda chceš nainstalovat nové závislosti pomocí npm. Ujisti se, že tuto akci potvrdíš, protože instalace bez těchto závislostí nebude fungovat správně.

Integrace Reactu do tvé Astro aplikace

Během procesu instalace budou provedeny také změny v astro.config.mjs. Také bys měl tyto změny přijmout, aby vše fungovalo hladce.

Po dokončení instalace by měla tvá aplikace nyní podporovat React. Podívejme se, jaké nové závislosti byly přidány. V souboru package.json nyní nalezneš react, react-dom a také @astrojs/react jako zásuvné moduly.

Integrace Reactu do tvé aplikace Astro

Abys zajistil, že všechno je správně nakonfigurováno, potřebuješ React komponentu, kterou můžeš otestovat. V adresáři src vytvoř nový adresář s názvem components, který bude později obsahovat tvé React komponenty.

Integrace React do tvé aplikace Astro

V tomto adresáři vytvoř soubor s názvem index.jsx. Bude to tvá připravená React komponenta, do níž můžeš umístit svůj kód.

Integrace Reactu do tvé aplikace Astro

Nyní si jist, že komponenta je importována do souboru index.astro. To se provádí mezi třemi pomlčkami (---) v horní části souboru, kde můžeš vložit importní příkazy.

Integrace Reactu do tvé Astro aplikace

Importní příkaz by mohl vypadat zhruba takto: import App from '../components/index.jsx';. Tím se zajistí, že se tvá komponenta načte správně.

Integrace Reactu do tvé Astro aplikace

Nejprve si musíš být jistý, že něco exportuješ, abys nezanechal soubor prázdný. Přidej jednoduchou funkci, která něco rendruje do DOMu.

Nezapomeň nastavit atribut client:only pro svou komponentu. To zajistí, že se komponenta rendruje v prohlížeči a ne na serveru.

Integrace Reactu do tvé Astro aplikace

Nyní přejdeme do souboru index.jsx a vytvoříme jednoduchou React komponentu. Například můžeš vložit do HTML jednoduchý div s textem „Aplikace“.

Integrace Reactu do tvé Astro aplikace

Pokud nyní spustíš aplikaci, měl bys vidět, že nová komponenta byla úspěšně načtena a správně funguje.

Integrace Reactu do tvé Astro aplikace

Když se podíváte na DOM, zjistíte, že Astro používá speciální zástupce s názvem „Astro Island“, kde se renderují vaše komponenty React.

Integrace Reactu do tvé aplikace Astro

Astro umožňuje současné použití více frontendových knihoven. To znamená, že můžete kombinovat React, Vue nebo jiné knihovny v jedné aplikaci, aniž by k tomu docházelo k komplikacím.

Integrace Reactu do tvé Astro aplikace

Fungování vaší komponenty je již dobrým krokem a můžete nyní pracovat na rozšíření vaší aplikace. V budoucích tutoriálech budeme tuto komponentu dále rozvíjet do chatovací aplikace.

Integrace Reactu do tvé aplikace Astro

Závěr

V tomto tutoriálu jste se naučili, jak přidat React do vaší aplikace Astro a vytvořit jednoduchou komponentu. Tím se otevírá řada možností k rozšíření vaší aplikace.

Často kladené dotazy

Jak nainstaluji React do mé aplikace Astro?React můžete přidat do vaší aplikace Astro pomocí příkazu npx astro add react.

Proč je důležité použít client:only?Atribut client:only zajistí, že vaše komponenta bude vykreslena v prohlížeči a ne na serveru.

Mohu použít více frontendových knihoven v aplikaci Astro současně?Ano, Astro umožňuje používání více frontendových knihoven jako je React, Vue a dalších zároveň.