web-intro
  • Introduction
  • Introduksjon
    • Introduksjon
    • Din første nettside
      • Hello World
      • DevTools
  • Grunnleggende webutvikling
    • HTML
      • Elementer
      • Head og body
      • Semantikk
      • Bilder
      • Lenker
      • Knapper
      • DOM-en
    • CSS
      • Selectorer
      • Pseudo-klasser
      • Box model
      • Flyt
      • Layout
      • Responsivt
    • JavaScript
      • Filer
      • Variabler
      • Typer og operatorer
      • Strenger
      • Funksjoner
      • Listeoperasjoner
      • DOM-apiet
      • Promises
      • Async/await
      • Web-APIer
      • ESNext
      • Rammeverk
  • Neste steg
    • Universell utforming
    • React
    • Utviklingsmiljø
      • Dytt det til skyen!
    • Best practices
      • Linting og formatering
      • Code review
      • Keep it simple, stupid!
    • Flere ressurser
Powered by GitBook
On this page
  • Grunnleggende om React
  • Læringsressurser
  1. Neste steg

React

Grunnleggende om React

React lar oss representere GUI-et som en mengde av funksjoner. Disse funksjonene kan man se på som transformasjoner som tar inn en datastruktur og returnerer en representasjon som sier noe om hvordan datastrukturen skal rendres som HTML. Det høres kanskje komplekst og vanskelig ut, men React handler egentlig bare om funksjoner som tar inn objekter som f.eks. { name: 'John', likesApples: true } og returner HTML: <div>John likes apples</div>. Vi kaller en slik funksjon som representerer GUI-et for en React component eller bare en "komponent".

En komponent kan f.eks. se slik ut:

function MyCoolComponent() {
    return <div>Hello World</div>;
}

Det ser litt merkelig ut - HTML inn i JavaScripten!? Det kan umulig være riktig, eller? Kort fortalt, så kalles denne syntaksen JSX. JSX lar oss skrive komponentene våre som om de var HTML-elementer, og så vil React passe på at det blir helt vanlig HTML når programmet kjøres i nettleseren.

I likhet med funksjoner kan komponenter også ta inn ulike parametere:

function MyCoolComponent(props) {
    return (
        <div>
            {props.name} 
            {props.likesApples 
                ? 'likes' 
                : 'dislikes'
            } apples
        </div>
    );
}

Vi kaller denne funksjonen som om den er et HTML-element når vi vil at den skal rendres på siden vår: <MyCoolComponent likesApples />

props er det første argumentet som sendes inn til komponenten og består av alle key-value parene som settes på komponenten. props settes på samme måte som du ville ha satt attributter på tradisjonelle HTML elementer:

<Component foo="bar" frontendkurs="awesome" />

Disse prop-ene vil være tigjengelig inne i React-komponenten på følgende måte:

function Component(props) {
    console.log(props) // { foo: 'bar', fagdag: 'awesome' }
    ...
}

prop-ene må ikke være strenger. Når vi bruker krøllparanteser inne i et JSX-uttrykk, så "escaper" vi JSX-syntaksen og går inn i standard JavaScript-modus, dvs at vi kan skrive vanlig JavaScript-kode og utnytte hele språket:

<Component divisionFactor={ 2.0 } primes={ [1,2,3,5] } />

Komponenter kan også rendre andre komponenter:

function MyView() {
    return (
        <div>
            <MyCoolComponent name="John" likesApples={true} />
            <MyCoolComponent name="Alice" likesApples={false} />
        </div>
    );
}

Læringsressurser

Ressurser for React:

Ressurser for Redux

Bekk Teknologiradar har anbefalinger og generelle beskrivelser av...

PreviousUniversell utformingNextUtviklingsmiljø

Last updated 5 years ago

er et fint sted å starte hvis vil lage en React-app. Når du kjører dette programmet, får du alt du trenger av oppsett og byggeverktøy.

React har god dokumentasjon, blant annet i rammeverket

Bekk sin egen

Redux har også god

Det finnes en bra laget av mannen bak biblioteket, Dan Abramov.

...

...

...

Create react app
denne guiden som dekker hovedkonseptene
introduksjons-workshop om React
dokumentasjon
videoserie
React
Redux
create-react-app