Ohjelmistokehitys

Mikä on React? Opas aloittelijoille

Selitämme selkeästi Reactin komponenttilogiikan ja virtuaalisen DOMin sekä sen, missä projekteissa React valitaan; näytämme myös, mistä oppiminen kannattaa aloittaa.

Aurora YazılımToimitustiimi 6 min lukuaika
Mikä on React? Opas aloittelijoille
Mikä React on?

React on Metan kehittämä ja avoimena lähdekoodina tarjoama JavaScript-kirjasto. Sen avulla käyttöliittymät rakennetaan jakamalla ne pieniin, uudelleenkäytettäviin komponentteihin. Kun data muuttuu, se päivittää ruudulta vain olennaisen osan; näin hallintapaneelit, verkkokaupat ja varausten kaltaiset interaktiiviset käyttöliittymät kehitetään järjestelmällisemmin ja nopeammin.

Mikä React on ja mihin sitä lyhyesti käytetään?

Lyhin vastaus kysymykseen mikä React on: JavaScript-kirjasto, jolla rakennetaan selaimessa toimivia käyttöliittymiä. Verkkosivun osat, kuten valikko, tuotekortti, ostoskori tai lomake, määritellään erikseen, ja ne yhdistämällä muodostat koko sivun.

React ei ole kehys (framework) vaan kirjasto. Reititys, datan haku tai palvelinpuolen työt vaativat lisätyökaluja. Tämän joustavuuden ansiosta sitä voi käyttää kaikissa mittakaavoissa pienestä widgetistä suureen hallintapaneeliin.

Reactin ymmärtämiseksi on ensin tunnettava itse kieli. Jos perusteet puuttuvat, suosittelemme aloittamaan artikkelista Mikä JavaScript on; kaikki Reactissa kirjoittamasi on lopulta JavaScriptiä.

Mihin Reactia käytetään?

Reactin todellinen voima on, että se päivittää käyttöliittymän automaattisesti datan muuttuessa. Kun tuote lisätään ostoskoriin, laskuri kasvaa; kun suodatin valitaan, lista päivittyy; kehittäjän ei tarvitse kirjoittaa näitä päivityksiä käsin yksitellen.

Toinen hyöty on ylläpidon helppous. Koska käyttöliittymä on jaettu komponentteihin, painikkeen ulkoasun muuttaminen koskee vain yhtä tiedostoa; muutos näkyy kaikkialla, missä kyseistä komponenttia käytetään. Suurissa tiimeissä työnjako selkeytyy, kun kaikki voivat työskennellä eri komponenttien parissa.

Reactin laaja yhteisö on myös käytännön etu. Päivämäärävalitsimille, taulukoille, kaavioille tai lomakkeiden validoinnille löytyy kypsiä avoimen lähdekoodin paketteja; jokainen riippuvuus kuitenkin lisää projektiin ylläpitotaakkaa, joten pakettien valinta on tehtävä harkiten.

Siksi React korostuu näytöissä, joissa käyttäjä on paljon vuorovaikutuksessa. Tyypillisiä käyttöalueita ovat:

  • Hallintapaneelit ja raportointinäytöt
  • Verkkokaupan tuotelistat, suodattimet ja ostoskorin kulut
  • Monivaiheiset kulut, kuten varaus-, ajanvaraus- ja tarjouslomakkeet
  • Reaaliaikaista dataa näyttävät live-näytöt (tilaus, varasto, viestintä)
  • Mobiilisovellukset React Nativella (sama ajattelumalli, eri alusta)

Miten Reactin komponenttirakenne toimii?

Reactissa kaikki on komponentti (component). Komponentti on funktio, joka sisältää käyttöliittymän osan ja sen toiminnan. Kirjoitat “TuoteKortti”-komponentin kerran ja käytät sitä sivulla sadoissa paikoissa eri datalla.

Komponentit saavat dataa ulkopuolelta props-arvoina ja säilyttävät muuttuvan tiedon sisäisesti state-tilassa. Props on kuin funktion parametri; state on komponentin muisti. Kun state muuttuu, React piirtää komponentin uudelleen.

jsxYksinkertainen laskurikomponentti
import { useState } from "react";

function Sayac({ baslik }) {
  const [adet, setAdet] = useState(0);

  return (
    <div>
      <h3>{baslik}</h3>
      <p>Adet: {adet}</p>
      <button onClick={() => setAdet(adet + 1)}>Lisää</button>
    </div>
  );
}

export default Sayac;

Mikä JSX on?

Yllä olevassa esimerkissä HTML:n näköinen osa on JSX. JSX on syntaksi, jonka avulla voit kuvata käyttöliittymän luettavasti JavaScriptin sisällä. Selain ei ymmärrä JSX:ää suoraan; käännöstyökalut muuntavat sen tavallisiksi JavaScript-kutsuiksi.

Mitä hookit tarjoavat?

Hookit, kuten useState ja useEffect, antavat funktiokomponenteille kyvyn säilyttää tilaa, hakea dataa ja hallita sivuvaikutuksia. Aloittelijalle riittää, että ymmärtää ensin useStaten ja useEffectin hyvin.

Virtuaalinen DOM ja suorituskyky

Selaimessa olevaa sivurakennetta kutsutaan DOMiksi, ja DOMin muuttaminen usein on kallista. React pitää muistissa kevyttä kopiota käyttöliittymästä; sitä kutsutaan virtuaaliseksi DOMiksi. Kun data muuttuu, se vertaa uutta kopiota vanhaan ja soveltaa oikeaan DOMiin vain eron.

Tämä lähestymistapa säästää kehittäjän kirjoittamasta yksittäisiä DOM-operaatioita. Silti virtuaalinen DOM ei yksin takaa nopeutta. Suuri pakettikoko, turhat uudelleenpiirrot ja optimoimattomat kuvat voivat hidastaa myös React-sivustoa.

Käyttäjän kokema nopeus mitataan Core Web Vitalsilla: LCP ≤ 2,5 s, INP ≤ 200 ms ja CLS ≤ 0,1 katsotaan hyviksi. Näiden rajojen saavuttamiseksi nopeus- ja suorituskykyoptimointi tulee käsitellä teknologiasta riippumattomana erillisenä työnä.

Missä projekteissa React valitaan?

Kaikki verkkosivustot eivät vaadi Reactia. Muutaman sivun esittelysivustolle pelkkä HTML, CSS ja vähän JavaScriptiä on useimmiten nopeampi ja edullisempi. Reactin arvo korostuu, kun vuorovaikutus ja datan määrä kasvavat.

Alla oleva taulukko antaa yleisen kehyksen päätöksen tueksi:

ProjektityyppiSopiiko React?Miksi
Esittely- / yrityssivustoUseimmiten ei tarvitaSisältöpainotteinen, vähän vuorovaikutusta
Kampanjan laskeutumissivuTilanteen mukaanNopeus ja SEO etusijalla
HallintapaneeliKylläPaljon lomakkeita, taulukoita ja tiloja
Varaus- / tilauskulkuKylläVaiheittain muuttuva data
Mobiili + web samalla tiimilläKylläYhteinen osaaminen React Nativen kanssa

React-oppimisen tiekartta

Reactia oppiville yleisin virhe on siirtyä suoraan kirjastoon ennen kuin JavaScriptin perusteet ovat hallussa. Alla oleva järjestys tarjoaa vankan polun pysyvään oppimiseen:

  1. Opettele HTML:llä ja CSS:llä sivun rakenne ja asettelun logiikka.
  2. Opi JavaScriptissä muuttujat, taulukot, oliot, funktiot, map/filter ja async/await.
  3. Harjoittele komponentit, props ja state virallisen dokumentaation oppaan avulla.
  4. Tee pieni projekti: tehtävälista, säätila tai tuotesuodatin.
  5. Siirry lomakkeiden hallintaan, datan hakuun ja reititykseen.
  6. Lisää kasvavissa projekteissa TypeScript tyyppiturvallisuutta varten.

Ensimmäisen projektin aloittaminen

Uuden React-projektin yleinen aloitustapa on käyttää Vite-tyyppistä käännöstyökalua. Koneellesi on oltava asennettuna Node.js:n ajantasainen LTS-versio. Seuraa ajantasaisia suosituksia osoitteessa react.dev olevasta virallisesta dokumentaatiosta.

bashReact-projekti Vitellä
npm create vite@latest ilk-react-projem -- --template react
cd ilk-react-projem
npm install
npm run dev

React, TypeScript ja ekosysteemi

React on yksinään käyttöliittymäkerros; oikeassa projektissa valitaan myös sitä ympäröivät työkalut. Palvelinpuolen renderöintiin ja reititykseen käytetään usein Next.js:n kaltaisia kehyksiä, tyyppiturvallisuuteen TypeScriptiä ja testaukseen Testing Libraryn kaltaisia työkaluja.

Tiimin kasvaessa TypeScriptistä tulee lähes vakio; koodissa kirjoitetaan selvästi, mitä propseja komponentit odottavat, ja virheet saadaan kiinni käännösvaiheessa. Lisätietoja löydät artikkelistamme Mikä TypeScript on.

On myös tärkeää selkeyttää, millä kerroksella React projektissa on. Käyttöliittymäpuoli on frontend, tietokanta ja liiketoimintasäännöt backend; näiden rajan olemme käsitelleet artikkelissa frontendin ja backendin ero.

Hyvään käyttöliittymään ei riitä pelkkä React

React on hyvä tapa koodata käyttöliittymä, mutta se ei määritä, mitä näytetään, missä järjestyksessä ja kenelle. Nämä päätökset kuuluvat käyttökokemuksen suunnittelulle. Epäselvän kulun näytön kirjoittaminen uusimmalla teknologialla tarkoittaa vain ongelman tuottamista nopeammin.

Siksi projekteissa suunnitellaan ensin käyttäjäpolku, näyttöluonnokset ja komponenttikirjasto; koodi rakennetaan niiden päälle. UI/UX-suunnittelu tuottaa myös React-komponenttien luonnollisen kartan.

Sivuilla, joilla hakunäkyvyys on tärkeää, tekninen perusta ja sisällön rakenne on mietittävä yhdessä. Hakukoneystävällisessä verkkosivujen suunnittelussa otsikkohierarkia, palvelimella tuotettu HTML ja nopeus käsitellään samanaikaisesti.

Usein kysytyt kysymykset

01Onko React ohjelmointikieli?

Ei. React on JavaScriptillä kirjoitettu ja JavaScriptillä käytettävä kirjasto. Myös JSX, joka näyttää omalta syntaksiltaan, muunnetaan käännösvaiheessa tavalliseksi JavaScriptiksi.

02Kuinka kauan Reactin oppiminen kestää?

Jos JavaScriptin perusteet ovat kunnossa, komponentin, propsin ja staten logiikka asettuu muutamassa viikossa säännöllisellä harjoittelulla. Sujuvuus oikeissa projekteissa tulee työskentelemällä eri näyttöjen ja virheiden parissa; aika vaihtelee henkilön käyttämän ajan mukaan.

03Haittaako Reactilla tehty sivusto SEO:ta?

Teknologia ei yksin haittaa; ratkaisevaa on, miten sisältö tuotetaan. Jos sivu muodostuu vain selaimessa, hakukoneet voivat käsitellä sisällön myöhässä. Palvelinpuolen renderöinti tai staattinen generointi vähentää tätä riskiä suuresti.

04Kumpi kannattaa valita, React vai Vue?

Molemmat ovat kypsiä ja yleisiä työkaluja. Reactin ekosysteemi ja osuus työpaikkailmoituksissa on laaja; Vue taas houkuttelee niitä, jotka haluavat edetä alussa vähemmillä käsitteillä. Tiimisi kokemus ja se, kuka projektia ylläpitää, ratkaisevat enemmän kuin tekniset erot.

React on tehokas kirjasto, joka jakamalla vuorovaikutteiset käyttöliittymät komponentteihin tekee niistä järjestelmällisiä ja kestäviä, mutta se ei ole pakollinen jokaiseen projektiin. Jos haluat arvioida, mikä teknologia sopii projektiisi käyttökokemus- ja nopeustavoitteiden kanssa, voit keskustella verkkosivujen suunnittelutiimimme kanssa ja tutustua hallintapaneeli- ja erikoisnäyttötarpeisiin tarkoitettuihin ohjelmistoratkaisuihimme.