I denne vejledning vil du lære, hvordan du tilføjer React til din Astro App. Dette vil lade dig oprette moderne React-komponenter og integrere dem i din applikation. Vi vil gennemgå de nødvendige trin for at forberede din Astro-app til React og oprette en simpel komponent.
Vigtigste pointer
- Du skal installere React-pakken og de tilhørende plugins.
- Din komponentstruktur i Astro adskiller sig en smule fra ren HTML.
- For at sikre at dine React-komponenter renderes i browseren, skal du bruge attributtet client:only.
Trin-for-trin vejledning
For at tilføje React til din Astro App, skal du følge disse trin:
Først skal du sikre dig, at din udviklingsserver ikke kører længere. Du kan gøre dette ved at afbryde kommandoen npm run dev. Dette er vigtigt for at sikre, at der ikke opstår konflikter under installationen af de nye afhængigheder.
Nu er du klar til at integrere React officielt. Til dette skal du bruge kommandoen npx astro add react. Med denne kommando tilføjer du de nødvendige pakker til at understøtte React i din Astro-app.
Derefter bliver du spurgt, om du vil installere de nye afhængigheder med npm. Sørg for at bekræfte dette, da installationen ikke vil fungere korrekt uden disse afhængigheder.
Under installationsprocessen foretages der også ændringer i astro.config.mjs. Du bør også acceptere disse ændringer for at sikre, at alt fungerer gnidningsløst.
Når installationen er færdig, bør din app nu have React-understøttelse. Lad os se, hvilke nye afhængigheder der er blevet tilføjet. I din package.json finder du nu react, react-dom samt @astrojs/react som plugins.
For at sikre, at alt er konfigureret korrekt, har du brug for en React-komponent, som du kan teste. Opret en ny mappe i src-mappen kaldet components, som senere vil indeholde dine React-komponenter.
I denne mappe opretter du en fil kaldet index.jsx. Dette vil være din klar-til-brug React-komponent, hvor du kan placere din kode.
Du skal nu sikre dig, at komponenten importeres i index.astro-filen. Dette gøres mellem de tre bindestreger (---) i toppen af filen, hvor du kan indsætte import-anvisninger.
Din import-anvisning kan se sådan ud: import App from '../components/index.jsx';. Dette sikrer, at din komponent indlæses korrekt.
Først skal du sikre dig, at du eksporterer noget, så filen ikke er tom. Tilføj en simpel funktion, der render noget til DOM'en.
Husk at sætte et client:only-attribut til din komponent. Det sikrer, at komponenten renderes i browseren og ikke på serveren.
Nu går vi til index.jsx-filen og opretter en simpel React-komponent. Du kan f.eks. indsætte en simpel div med teksten "App" i HTML'en.
Når du starter appen nu, bør du se, at den nye komponent er blevet indlæst korrekt og fungerer som den skal.
Når du kigger på DOM'en, vil du bemærke, at Astro bruger en speciel pladsholder kaldet "Astro Island", hvor dine React komponenter bliver renderet.
Astro muliggør brugen af flere frontend-biblioteker samtidig. Det betyder, at du kan kombinere React, Vue eller andre biblioteker i en ansøgning uden komplikationer.
Din komponent fungerer allerede godt, og du kan nu arbejde på at udvide din applikation yderligere. I fremtidige tutorials vil vi udvikle komponenten til en chat-applikation.
Oversigt
I denne vejledning har du lært, hvordan du tilføjer React til din Astro-app og opretter en simpel komponent. Dette åbner døren for en række muligheder for at udvide din ansøgning.
Ofte stillede spørgsmål
Hvordan installerer jeg React i min Astro-app?Du kan tilføje React til din Astro-app ved at bruge kommandoen npx astro add react.
Hvorfor er det vigtigt at bruge client:only?Attributtet client:only sikrer, at din komponent renderes i browseren og ikke på serveren.
Kan jeg bruge flere frontend-biblioteker i en Astro-app?Ja, Astro tillader at bruge flere frontend-biblioteker som React, Vue og andre på samme tid.