5 sposobów na stylizację Zareaguj za pomocą CSS [2023]

Photo of author

By maciekx

Czy wiedziałeś, że zdecydowana większość, bo aż 97% stron internetowych, opiera się na CSS w kwestii wyglądu?

Kaskadowe arkusze stylów, znane jako CSS, pozwalają twórcom stron internetowych na konstruowanie estetycznych, czytelnych i doskonale prezentujących się witryn.

CSS definiuje, w jaki sposób treści są przedstawiane użytkownikowi. Treść ta to nic innego, jak plik napisany w języku znaczników, takim jak XML lub HTML.

Na czym polega stylizacja w React?

Prostota tworzenia, wdrażania i późniejszego zarządzania aplikacjami React to kluczowy powód jego popularności. React, będąc biblioteką JavaScript, a nie frameworkiem, oferuje o wiele więcej niż tylko gotowe funkcje i fragmenty kodu.

Dostępność komponentów, które można wielokrotnie wykorzystywać, jego adaptacyjność, stabilność kodu, szybkość działania oraz wydajność to tylko kilka aspektów, dzięki którym React zajmuje czołowe miejsce wśród frameworków i bibliotek JavaScript.

Stylizacja w React to proces nadawania atrakcyjnego wyglądu elementom aplikacji React za pomocą CSS. Trzeba pamiętać, że React korzysta z JSX (JavaScript i XML) zamiast HTML jako języka znaczników. Istotna różnica polega na tym, że HTML używa .class do definiowania klas, a JSX stosuje .ClassName w tym samym celu.

Dlaczego warto stosować CSS do stylizacji w React?

  • Zapewnij responsywność swojej aplikacji. Współczesne aplikacje internetowe muszą być dostępne na różnych urządzeniach, od małych smartfonów po duże ekrany komputerów. CSS umożliwia stosowanie zapytań o media, dzięki czemu aplikacja React dostosowuje się do różnych rozmiarów ekranu.
  • Przyspiesz proces tworzenia. Te same reguły CSS można zastosować w różnych komponentach aplikacji React.
  • Uczyń swoją aplikację React łatwą w utrzymaniu. Wprowadzanie zmian w wyglądzie poszczególnych komponentów lub części aplikacji jest proste dzięki CSS.
  • Popraw doświadczenia użytkownika. CSS pozwala na tworzenie interfejsu, który jest przyjazny dla użytkownika. Aplikacja React z tekstem i przyciskami umieszczonymi w logicznych miejscach jest łatwa w obsłudze i nawigacji.

Istnieje kilka metod, które programiści mogą wykorzystać do stylizacji aplikacji React. Oto kilka z najczęściej spotykanych:

Stylizacja w linii

Stylizacja w linii to najłatwiejsza metoda stylizacji aplikacji React, ponieważ nie wymaga tworzenia zewnętrznego arkusza stylów. Styl CSS jest aplikowany bezpośrednio w kodzie React.

Warto pamiętać, że style wbudowane mają wyższy priorytet niż inne style. W sytuacji gdyby istniał zewnętrzny arkusz stylów z określonym formatowaniem, zostałby on nadpisany przez styl wbudowany.

Poniżej przykład stylizacji w linii w aplikacji React:

import React from 'react';

import ReactDOM from 'react-dom/client';

const Header = () => {

  return (

    <>

      <h1 style={{backgroundColor: "lightblue"}}>Hello World!!!!!</h1>

      <h2>Add a little style!</h2>

    </>

  );

}

const root = ReactDOM.createRoot(document.getElementById('root'));

root.render(<Header />);

Rezultatem tego kodu będzie element h1 z jasnoniebieskim tłem.

Zalety stylizacji w linii

  • Szybkość. To najprostsza metoda, ponieważ styl dodaje się bezpośrednio do tagu, który ma zostać wystylizowany.
  • Wysoki priorytet. Style wbudowane nadpisują zewnętrzne arkusze stylów. Dzięki temu można skupić się na konkretnej funkcjonalności bez wpływania na całą aplikację.
  • Idealna do prototypowania. Style wbudowane można wykorzystać do przetestowania funkcjonalności przed przeniesieniem formatowania do zewnętrznego arkusza stylów.

Wady stylizacji w linii

  • Może być nużąca. Bezpośrednie stylizowanie każdego tagu jest czasochłonne.
  • Ograniczona. Nie można używać funkcji CSS, takich jak selektory i animacje, ze stylami wbudowanymi.
  • Duża ilość stylów wbudowanych sprawia, że kod JSX staje się nieczytelny.

Importowanie zewnętrznych arkuszy stylów

CSS można pisać w zewnętrznym pliku i importować go do aplikacji React. Podejście to jest analogiczne do importowania pliku CSS w tagu <head> dokumentu HTML.

W tym celu należy utworzyć plik CSS w katalogu aplikacji, zaimportować go do konkretnego komponentu i napisać reguły stylów.

Przykładowo, aby zademonstrować, jak działają zewnętrzne arkusze stylów CSS, można utworzyć plik CSS i nazwać go App.css. Następnie należy wyeksportować go w sposób następujący:

import { React } from "react";

import "./Components/App.css";

function App() {

  return (

    <div className="main">

    </div>

  );

}

export default App;

Powyższy fragment kodu importuje zewnętrzny arkusz stylów do komponentu App.js. Plik App.css znajduje się w folderze Składniki.

Zalety zewnętrznych arkuszy stylów CSS

  • Wielokrotnego użytku. Te same reguły CSS można wykorzystać w różnych komponentach w aplikacji React.
  • Ułatwia czytanie kodu. Zewnętrzne arkusze stylów sprawiają, że kod jest łatwiejszy do zrozumienia.
  • Dostęp do zaawansowanych funkcji CSS. Korzystając z zewnętrznych arkuszy stylów, można używać pseudoklas i zaawansowanych selektorów.

Wady zewnętrznych arkuszy stylów CSS

  • Wymaga przemyślanej konwencji nazewnictwa, aby uniknąć nadpisywania stylów.

Wykorzystanie modułów CSS

Aplikacje React mogą osiągać znaczne rozmiary. Domyślnie nazwy animacji CSS i nazwy klas mają zasięg globalny. Takie ustawienie może powodować problemy w przypadku dużych arkuszy stylów, ponieważ jeden styl może nadpisywać inny.

Moduły CSS rozwiązują ten problem poprzez lokalne określanie zakresu nazw animacji i klas. Dzięki temu nazwy klas są dostępne tylko w pliku lub komponencie, w którym są potrzebne. Każda nazwa klasy otrzymuje unikalną nazwę programową, co pozwala uniknąć konfliktów.

Aby wdrożyć moduły CSS, należy utworzyć plik z rozszerzeniem .module.css. Jeżeli chcemy nazwać arkusz stylów „style”, nazwa pliku będzie brzmiała style.module.css.

Zaimportuj utworzony plik do swojego komponentu React i można zaczynać.

Przykładowy plik CSS może wyglądać następująco:

/* styles.module.css */

.font {

  color: #f00;

  font-size: 30px;

}

Moduł CSS można zaimportować do pliku App.js w następujący sposób:

import { React } from "react";

import styles from "./styles.module.css";

function App() {

  return (

    <h1 className={styles.heading}>Hello newsblog.pl reader</h1>

  );

}

export default App;

Zalety korzystania z modułów CSS

  • Łatwa integracja z SCSS i CSS.
  • Unikanie konfliktów nazw klas.

Wady korzystania z modułów CSS

  • Odwoływanie się do nazw klas za pomocą modułów CSS może być kłopotliwe dla początkujących.

Wykorzystanie Styled-Components

Styled-Components umożliwiają programistom tworzenie komponentów przy użyciu CSS w kodzie JavaScript. Styled-Component działa jak komponent React, który jest od razu zaopatrzony w style. Oferują one dynamiczną stylistykę i unikalne nazwy klas.

Aby rozpocząć korzystanie ze Styled-Components, zainstaluj pakiet w folderze głównym za pomocą polecenia:

npm install styled-components

Następnym krokiem jest zaimportowanie Styled-Components do aplikacji React.

Poniżej fragment kodu pliku App.js, który wykorzystuje Styled-Components:

import { React } from "react";
import styled from "styled-components";

function App() {

  const Wrapper = styled.div`

    width: 80%;

    height: 120px;

    background-color: lightblue;

    display: block;

  `;

  return <Wrapper />;

}

export default App;

Wyświetlana aplikacja będzie miała powyższe style zaimportowane z Styled-Components.

Zalety Styled-Components

  • Przewidywalność. Style w tej metodzie stylizacji są zagnieżdżone w konkretnych komponentach.
  • Brak konieczności skupiania się na konwencjach nazewnictwa klas. Wystarczy napisać style, a pakiet zajmie się resztą.
  • Możliwość eksportowania Styled-Components jako rekwizytów. Styled-Components konwertują zwykły CSS na komponenty React. W ten sposób można ponownie użyć kodu, rozszerzyć style za pomocą rekwizytów i eksportować.

Wady Styled-Components

  • Wymaga zainstalowania biblioteki zewnętrznej.

Syntaktycznie niesamowite arkusze stylów (SASS/SCSS)

SASS oferuje rozbudowane narzędzia i funkcje, których brakuje w zwykłym CSS. Style można pisać w dwóch różnych stylach, korzystając z rozszerzeń .scss i .sass.

Składnia SASS jest podobna do składni zwykłego CSS. Jednak nawiasy otwierające i zamykające nie są potrzebne podczas pisania reguł stylów w SASS.

Przykładowy fragment kodu SASS:

nav

  ul

    margin-right: 20px

    padding: 0

    list-style: list

  li

    display: block

  a

    display: block

    padding: 6px 12px

    text-decoration: underline

nav

Aby zacząć korzystać z SASS w aplikacji React, najpierw trzeba skompilować SASS do zwykłego CSS. Po skonfigurowaniu aplikacji za pomocą polecenia Create React App można zainstalować node-sass, aby zająć się kompilacją.

npm install node-sass

Następnie należy utworzyć pliki i nadać im rozszerzenie .scss lub .sass. Potem importuje się pliki w normalny sposób. Na przykład:

import "./Components/App.sass";

Zalety SASS/SCSS

  • Dostępność wielu dynamicznych funkcji, takich jak mixiny, zagnieżdżanie i rozszerzanie.
  • Brak konieczności pisania dużej ilości szablonowego kodu CSS.

Wady SASS/SCSS

  • Style mają zasięg globalny, co może prowadzić do problemów z nadpisywaniem.

Która metoda stylizacji jest najlepsza?

Po omówieniu pięciu metod, naturalne jest pytanie, która z nich jest najlepsza. Trudno wskazać jednoznacznego zwycięzcę. Jednak te aspekty pomogą podjąć świadomą decyzję:

  • Wydajność aplikacji.
  • Potrzeba systemu projektowania.
  • Łatwość optymalizacji kodu.

Stylizacja w linii jest odpowiednia dla prostych aplikacji z niewielką ilością kodu. Wszystkie inne metody, takie jak zewnętrzne arkusze stylów, SASS, Styled-Components i moduły CSS, są odpowiednie dla dużych aplikacji.

Jakie są najlepsze praktyki dotyczące utrzymywania CSS w dużej aplikacji React?

  • Unikaj stylizacji w linii. Pisanie wbudowanych stylów CSS dla każdego tagu w dużej aplikacji React może być uciążliwe. Zamiast tego użyj zewnętrznego arkusza stylów, który spełnia twoje potrzeby.
  • Lintowanie kodu. Narzędzia takie jak Stylelint pomagają w identyfikacji błędów stylistycznych w kodzie, co pozwala na ich wczesne naprawienie.
  • Regularna kontrola kodu. Pisanie CSS może być przyjemne, ale regularne kontrole ułatwiają wykrywanie błędów we wczesnej fazie.
  • Automatyzacja testów plików CSS. Enzyme i Jest to przydatne narzędzia do automatyzacji testów kodu CSS.
  • Kod powinien być DRY. W przypadku często używanych stylów, takich jak kolory i marginesy, należy używać zmiennych i klas zgodnie z zasadą Don’t Repeat Yourself (DRY).
  • Użyj konwencji nazewnictwa, takiej jak Modyfikator elementu blokowego. Ułatwia to pisanie klas CSS, które są łatwe do zrozumienia i ponownego wykorzystania.

Podsumowanie

Powyżej przedstawiono kilka metod stylizacji w React. Wybór metody będzie zależał od indywidualnych potrzeb, umiejętności i preferencji. W aplikacji React można nawet łączyć różne podejścia, takie jak style wbudowane i zewnętrzne arkusze stylów.

Warto również zapoznać się z najlepszymi frameworkami i bibliotekami CSS dla programistów front-end.


newsblog.pl