Ønsker du at håndtere styling af React-komponenter på en moderne og kraftfuld måde? Med biblioteket Emotion kan du integrere CSS direkte i dine React-komponenter og dermed effektivt designe dit brugergrænseflade. I denne vejledning vil jeg forklare dig grundprincipperne for styling med Emotion, hvordan du installerer og anvender biblioteket, samt give dig nogle nyttige tips.
Vigtigste erkendelser
- Emotion muliggør skrivning af CSS i JavaScript og giver en intuitiv håndtering.
- Med Emotion kan du bruge forskellige stylingteknikker, herunder skabelonstrengs og brugen af css-Props.
- Style management bliver mere modulært ved brug af Emotion, hvilket forbedrer genanvendelighed og læsbarhed.
Trin-for-trin vejledning
1. Installér Emotion
Først skal du installere Emotion i dit projekt. Åbn terminalen og naviger til dit projekts bibliotek. Her skal du køre følgende kommando for at installere Emotion-biblioteket:
npm install @emotion/react @emotion/styled
2. Importér CSS
I din App.jsx-fil kan du bruge Emotion. Du bør importere Emotion for at bruge css-funktionen og importere styled-elementet. Tilføj følgende øverst i din fil:
3. Styling med skabelonstrenge
Brug Emotions css-funktion til at oprette en CSS-variabel. Definer CSS-reglerne ved hjælp af skabelonstrengs. Her er et eksempel på, hvordan du kan skrive en wrapper-klasse til din app:
Denne kode bruger flexbox til at sikre en layoutarrangement.
4. Anvendelse af stilen
For at anvende den definerede stil, indsæt appStyle-variablen i className-propen for dit hoved-HTML-element. Sådan bør det se ud:
5. Brug af Styled-Components
Udover at bruge css-variablen kan du også bruge Styled-Components med Emotion. For at oprette en styled-komponent kan du bruge følgende kode:
Dette vil gøre Container til en ny CSS-baseret komponent med alle de definerede stilarter.
6. Integration af medieforespørgsler
Emotion gør det let at integrere medieforespørgsler i din CSS. Tilføj dem blot i skabelonstrengen:
Denne medieforespørgsel ændrer skriftstørrelsen på teksten, når skærmen er mindre end 600 pixels bred.
7. Anvendelse af Hover-effekter
Du kan også nemt definere hover-effekter i dine CSS-templates:
Denne CSS-regel ændrer baggrundsfarven på elementet, når det holdes over med musen.
8. Kombiner komplekse stilarter
Emotion tillader kombination af flere klassenavne. Dette opnås via cx-funktionen:
const primaryStyle = css color: blue;;
const secondaryStyle = css color: red;;
I dette tilfælde vises teksten både blå og rød.
9. Fremtidige udvidelser
Hvis du i fremtiden administrerer et stort projekt, kan det være nyttigt at organisere dine stilarter i forskellige moduler. Du kan f.eks. oprette commonStyles.js og eksportere dine grundlæggende stilarter der:
Nu kan du indsætte flexCenter i enhver anden komponent.
10. Tests og tilpasninger
Indlæs din applikation i browseren og kontroller, om stilarterne vises korrekt. Eksperimentér med forskellige stilarter og se resultatet i realtid.
Opsamling
Med en kombination af Emotion og React er det muligt at oprette realistiske UI-layouts. Emotion giver mulighed for at definere og administrere CSS direkte i JavaScript effektivt. Dermed kan du drage fordel af fordelene ved screendensitet og et tæt samspil mellem logik og styling.
Ofte stillede spørgsmål
Hvad er Emotion?Emotion er et bibliotek, der gør det muligt at bruge CSS i JavaScript og tilbyder omfattende stylingmuligheder for React-komponenter.
Hvordan installerer jeg Emotion?Brug kommandoen npm install @emotion/react @emotion/styled i din projektmappe.
Kan jeg bruge medieforespørgsler med Emotion?Ja, du kan bruge medieforespørgsler i dine Emotion Styled-komponenter ved at skrive dem direkte i skabelonerne.
Understøtter Emotion også hover-effekter?Ja, Emotion gør det nemt at tilføje hover-effekter ved blot at definere en &:hover-regel i dit CSS-skabelon.