Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Datalistojen Renderöinti Reactissa | Uudelleenkäytettävät Komponentit ja Tietovirta
Johdatus Reactiin

bookDatalistojen Renderöinti Reactissa

Modernien verkkosovellusten kehityksessä on yleistä renderöidä kokoelmia taustajärjestelmästä saaduista tiedoista. Tämän toteuttamiseen käytetään map()-metodia. map()-metodin sisällä hyödynnetään palautearvoista funktiota ja palautetaan JSX, jolla haluttu tuloste renderöidään.

Tarkastellaan esimerkkiä, joka havainnollistaa toimintaa. Meillä on App-komponentti, joka välittää propin toys, joka on taulukko olioita. ToyCard-komponentti käyttää map()-metodia renderöidäkseen jokaisen lelun taulukosta.

// Data from backend
const toysData = [
  { id: "id-1", name: "Rainbow Sparkle Unicorn Plush" },
  { id: "id-2", name: "Jungle Adventure Playset" },
  { id: "id-3", name: "Magical Princess Castle Dollhouse" },
  { id: "id-4", name: "RoboBot Transformer Robot" },
  { id: "id-5", name: "SuperBlast Action Figure" },
];

// Child component
const ToyCard = (props) => (
  <ul>
    {props.toys.map((toy) => (
      <li>{toy.name}</li>
    ))}
  </ul>
);

// Parent component
const App = () => (
  <>
    <ToyCard toys={toysData} />
  </>
);

Riveillä 13–15 havaitaan map()-metodin käyttö. Sen avulla voidaan käydä läpi jokainen taulukon alkio, poimia sen arvo ja luoda tietynlainen merkkaus jokaisen alkion tiedon perusteella.

Koko sovelluksen koodi:

Jos kuitenkin tarkkailemme konsolia, huomaamme varoituksen: Each child in a list should have a unique "key" prop..

Avain (Key)

Key on olennainen merkkijono-ominaisuus, joka on määritettävä luotaessa elementtejä kokoelmaan.

React käyttää avaimia varmistaakseen elementtien pysyvän identiteetin kokoelmassa. Avainten avulla React tunnistaa, mitkä elementit täytyy uudelleenrenderöidä ja luoda uudelleen muutosten yhteydessä sen sijaan, että koko kokoelma luotaisiin uudelleen. Avainten käyttö estää tarpeettoman elementtien uudelleenluonnin, mikä parantaa suorituskykyä.

Note
Huomio

Avaimen tulee olla yksilöllinen vierekkäisten elementtien kesken. Sen tulee pysyä samana eikä muuttua ajan myötä.

On suositeltavaa käyttää tunnisteita, kuten taustajärjestelmästä saatuja id-arvoja, avainpropseina. Tämä käytäntö mahdollistaa Reactin tehokkaan yksittäisten elementtien tunnistamisen ja hallinnan kokoelmassa.

Korjataan aiempi sovelluksemme käyttämällä avainpropseja kohteille:

// Data from backend
const toysData = [
  { id: "id-1", name: "Rainbow Sparkle Unicorn Plush" },
  { id: "id-2", name: "Jungle Adventure Playset" },
  { id: "id-3", name: "Magical Princess Castle Dollhouse" },
  { id: "id-4", name: "RoboBot Transformer Robot" },
  { id: "id-5", name: "SuperBlast Action Figure" },
];

// Child component
const ToyCard = (props) => (
  <ul>
    {props.toys.map((toy) => (
      <li key={toy.id}>{toy.name}</li>
    ))}
  </ul>
);

// Parent component
const App = () => (
  <>
    <ToyCard toys={toysData} />
  </>
);

Rivillä 14: key-prop asetetaan elementille, joka renderöidään useita kertoja tietotaulukon läpi.

Koko sovelluksen koodi:

1. Mitä menetelmää käytetään yleisesti taustajärjestelmästä saadun tietokokoelman renderöintiin Reactissa?

2. Miksi on tärkeää asettaa key-prop elementeille kokoelmassa Reactissa?

3. Mikä arvon key-propille tulee olla, jotta elementeillä kokoelmassa säilyy vakaa identiteetti?

question mark

Mitä menetelmää käytetään yleisesti taustajärjestelmästä saadun tietokokoelman renderöintiin Reactissa?

Select the correct answer

question mark

Miksi on tärkeää asettaa key-prop elementeille kokoelmassa Reactissa?

Select the correct answer

question mark

Mikä arvon key-propille tulee olla, jotta elementeillä kokoelmassa säilyy vakaa identiteetti?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 6

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookDatalistojen Renderöinti Reactissa

Pyyhkäise näyttääksesi valikon

Modernien verkkosovellusten kehityksessä on yleistä renderöidä kokoelmia taustajärjestelmästä saaduista tiedoista. Tämän toteuttamiseen käytetään map()-metodia. map()-metodin sisällä hyödynnetään palautearvoista funktiota ja palautetaan JSX, jolla haluttu tuloste renderöidään.

Tarkastellaan esimerkkiä, joka havainnollistaa toimintaa. Meillä on App-komponentti, joka välittää propin toys, joka on taulukko olioita. ToyCard-komponentti käyttää map()-metodia renderöidäkseen jokaisen lelun taulukosta.

// Data from backend
const toysData = [
  { id: "id-1", name: "Rainbow Sparkle Unicorn Plush" },
  { id: "id-2", name: "Jungle Adventure Playset" },
  { id: "id-3", name: "Magical Princess Castle Dollhouse" },
  { id: "id-4", name: "RoboBot Transformer Robot" },
  { id: "id-5", name: "SuperBlast Action Figure" },
];

// Child component
const ToyCard = (props) => (
  <ul>
    {props.toys.map((toy) => (
      <li>{toy.name}</li>
    ))}
  </ul>
);

// Parent component
const App = () => (
  <>
    <ToyCard toys={toysData} />
  </>
);

Riveillä 13–15 havaitaan map()-metodin käyttö. Sen avulla voidaan käydä läpi jokainen taulukon alkio, poimia sen arvo ja luoda tietynlainen merkkaus jokaisen alkion tiedon perusteella.

Koko sovelluksen koodi:

Jos kuitenkin tarkkailemme konsolia, huomaamme varoituksen: Each child in a list should have a unique "key" prop..

Avain (Key)

Key on olennainen merkkijono-ominaisuus, joka on määritettävä luotaessa elementtejä kokoelmaan.

React käyttää avaimia varmistaakseen elementtien pysyvän identiteetin kokoelmassa. Avainten avulla React tunnistaa, mitkä elementit täytyy uudelleenrenderöidä ja luoda uudelleen muutosten yhteydessä sen sijaan, että koko kokoelma luotaisiin uudelleen. Avainten käyttö estää tarpeettoman elementtien uudelleenluonnin, mikä parantaa suorituskykyä.

Note
Huomio

Avaimen tulee olla yksilöllinen vierekkäisten elementtien kesken. Sen tulee pysyä samana eikä muuttua ajan myötä.

On suositeltavaa käyttää tunnisteita, kuten taustajärjestelmästä saatuja id-arvoja, avainpropseina. Tämä käytäntö mahdollistaa Reactin tehokkaan yksittäisten elementtien tunnistamisen ja hallinnan kokoelmassa.

Korjataan aiempi sovelluksemme käyttämällä avainpropseja kohteille:

// Data from backend
const toysData = [
  { id: "id-1", name: "Rainbow Sparkle Unicorn Plush" },
  { id: "id-2", name: "Jungle Adventure Playset" },
  { id: "id-3", name: "Magical Princess Castle Dollhouse" },
  { id: "id-4", name: "RoboBot Transformer Robot" },
  { id: "id-5", name: "SuperBlast Action Figure" },
];

// Child component
const ToyCard = (props) => (
  <ul>
    {props.toys.map((toy) => (
      <li key={toy.id}>{toy.name}</li>
    ))}
  </ul>
);

// Parent component
const App = () => (
  <>
    <ToyCard toys={toysData} />
  </>
);

Rivillä 14: key-prop asetetaan elementille, joka renderöidään useita kertoja tietotaulukon läpi.

Koko sovelluksen koodi:

1. Mitä menetelmää käytetään yleisesti taustajärjestelmästä saadun tietokokoelman renderöintiin Reactissa?

2. Miksi on tärkeää asettaa key-prop elementeille kokoelmassa Reactissa?

3. Mikä arvon key-propille tulee olla, jotta elementeillä kokoelmassa säilyy vakaa identiteetti?

question mark

Mitä menetelmää käytetään yleisesti taustajärjestelmästä saadun tietokokoelman renderöintiin Reactissa?

Select the correct answer

question mark

Miksi on tärkeää asettaa key-prop elementeille kokoelmassa Reactissa?

Select the correct answer

question mark

Mikä arvon key-propille tulee olla, jotta elementeillä kokoelmassa säilyy vakaa identiteetti?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 6
some-alt