⊗jsrtPmSyStC 103 of 112 menu

Tyylittely Styled Components -kirjastolla Reactissa

Edellisissä oppitunneissa tarkastelimme tyylittelymenetelmiä käyttämällä globaalia CSS:ää ja inline-tyylittelyä. Tässä oppitunnissa työskentelemme tehokkaamman lähestymistavan kanssa suurissa sovelluksissa - styled-components-kirjaston käytön.

Joten otetaan CSS-tyylejä vailla oleva komponenttimme, jota käytimme aiemmissa oppitunneissa:

function App() { return ( <div> <p>text</p> <p>text</p> <p>text</p> </div> ); }

Aluksi asennamme kirjaston Styled Components:

npm install --save styled-components

Sitten tuomme tarvittavan paketin komponenttiin App:

import styled from 'styled-components';

Nyt voimme kääriä tunnisteet tyyleihin ja käyttää niitä React-komponentteina, mutta nyt suoraan JS:ään liitetyillä tyyleillä. Tätä lähestymistapaa kutsutaan myös CSS:äksi JS:ssä.

Tyylitellään ensimmäinen kappale. Tätä varten ennen App-funktiota tuontirivien jälkeen luomme komponentin Text1. Kirjaston styled-objektista tarvitsemme kappaleen, jonka vuoksi kirjoitamme styled.p. Sitten, mallimerkkijonossa luettelemme tarvittavat CSS-tyylit - kuten tavallisessa CSS:ssä:

const Text1 = styled.p` color: orangered; font-weight: bold; `;

Kuten näette, käytämme täällä puhdasta CSS:ää mallimerkkijonoina, mikä on erittäin kätevää. Samalla tavalla voimme käyttää media-kyselyitä, pseudoelementtejä, valitsimia ja muuta CSS-toiminnallisuutta.

Nyt App-komponentin funktion sisällä korvaamme p-tunnisteen luomallamme komponentilla Text1 CSS-tyyleillä:

<Text1>text</Text1>

Samalla tavalla tyylitellään toinen ja kolmas kappale. Tätä varten luomme komponentit Text2 ja Text3:

const Text2 = styled.p` font-style: italic; color: brown; `; const Text3 = styled.p` background-color: orange; font-weight: bold; color: white; `;

Lopuksi tyylitellään meidän div. Tätä varten luomme komponentin ja nimeämme sen Container:ksi:

const Container = styled.div` width: 200px; border: 2px solid brown; padding: 10px; text-align: center; `;

Korvaamme kaikki tunnisteet luoduilla komponenteilla:

import styled from "styled-components"; const Container = styled.div` width: 200px; border: 2px solid brown; padding: 10px; text-align: center; `; const Text1 = styled.p` color: orangered; font-weight: bold; `; const Text2 = styled.p` font-style: italic; color: brown; `; const Text3 = styled.p` background-color: orange; font-weight: bold; color: white; `; function App() { return ( <Container> <Text1>text</Text1> <Text2>text</Text2> <Text3>text</Text3> </Container> ); }

Tämän lähestymistavan ansiosta voidaan luoda uudelleenkäytettäviä komponentteja tyyleillä.

Jos avaat generoidun verkkosivun rakenteen selaimen kehittäjäpaneelissa, näet, että jokaisella komponentilla on generoitu omat uniikit luokat. Näin meidän ei tarvitse enää huolehtia luokkien välisistä ristiriidoista yksittäisten komponenttien välillä.

Samalla tavalla voidaan tyylittää komponentteja, käyttämällä esimerkiksi Emotion-kirjastoa.

Ota React-komponentti, jonka teit edellisen oppitunnin tehtävässä, tyylitä se käyttämällä Styled Components -kirjastoa.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää