⊗jsrtPmSyStC 103 of 112 menu

Stilizacija pomoću Styled Components u Reactu

U prethodnim lekcijama smo razmotrili tehnike stilizacije korišćenjem globalnog CSS-a i inlajn stilizacije. U ovoj lekciji ćemo raditi sa pristupom koji je efikasniji za velike aplikacije - korišćenjem biblioteke styled-components.

Dakle, uzmimo našu komponentu bez CSS stilova, koju smo koristili u prethodnim lekcijama:

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

Za početak, instalirajmo biblioteku Styled Components:

npm install --save styled-components

Zatim, importujmo neophodni paket u komponentu App:

import styled from 'styled-components';

Sada možemo da oblažimo tagove u stilove i primenjujemo ih kao React komponente, ali već sa stilovima prikačenim direktno u JS-u. Ovaj pristup se još naziva CSS u JS-u.

Hajde da stilizujemo prvi pasus. Za ovo pre funkcije App, posle linija importa kreiramo komponentu Text1. U objektu styled iz biblioteke potreban nam je pasus, pa pišemo styled.p. Zatim, u šablonskom stringu nabrojimo neophodne nam CSS stilove - kao u običnom CSS-u:

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

Kao što vidite, ovde koristimo čisti CSS u obliku šablonskih stringova, što je veoma zgodno. Na sličan način možemo koristiti medija upite, pseudoelemente, selektore i drugi funkcionalitet CSS-a.

Sada unutar funkcije komponente App zamenimo tag p kreiranom komponentom Text1 sa CSS stilovima:

<Text1>text</Text1>

Na sličan način stilizujmo drugi i treći pasus. Za ovo kreiramo komponente Text2 i Text3:

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

I, konačno, stilizujmo naš div. Za ovo kreiramo komponentu i nazovimo je Container:

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

Zamenimo sve naše tagove kreiranim komponentama:

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> ); }

Zahvaljujući ovom pristupu možemo kreirati višekratno upotrebljive komponente sa stilovima.

Ako otvorite generisanu verziju u panelu programera u pretraživaču, videćete da svaka komponenta ima svoje jedinstvene klase. Tako da nam više nije potrebno brinuti o konfliktima između klasa pojedinačnih komponenti.

Na sličan način je moguće stilizovati komponente, koristeći, na primer, biblioteku Emotion.

Uzmite React komponentu koju ste radili u zadatku za prethodnu lekciju, stilizujte je, koristeći biblioteku Styled Components.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij