Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Datan Kokoelmien Renderöinti Reactissa | Reactin Perusteet ja Komponenttipohjainen Käyttöliittymä
React-mestaruus

bookDatan Kokoelmien Renderöinti Reactissa

Nykyaikaisissa verkkosovelluksissa on tavallista renderöidä kokoelmia taustajärjestelmästä saaduista tiedoista. Tämän toteuttamiseksi käytetään map()-metodia. map()-metodin sisällä hyödynnetään palautefunktiota ja palautetaan JSX halutun lopputuloksen näyttämiseksi.

Tarkastellaan esimerkkiä havainnollistamaan toimintaa. Meillä on App-komponentti, joka välittää propin toys, joka on olioiden taulukko. 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 tietynlaista merkkausta kunkin alkion tietojen perusteella.

Sovelluksen koko koodi:

Jos kuitenkin tarkastellaan konsolia, huomataan varoitus: Each child in a list should have a unique "key" prop..

Avain

Avain on olennainen merkkijonoprop, joka täytyy määrittää luotaessa alkioita kokoelmassa.

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

Huomio

Avaimen täytyy olla yksilöllinen vierekkäisten elementtien kesken. Sen tulee pysyä muuttumattomana ajan myötä.

On suositeltavaa käyttää tunnisteita, kuten backendistä saatuja id-arvoja, key-propeina. Tämä käytäntö mahdollistaa sen, että React tunnistaa ja hallitsee yksittäisiä elementtejä kokoelmassa tehokkaasti.

Korjataan aiempi sovelluksemme käyttämällä key-propeja 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 backendistä saadun datan kokoelmien renderöintiin Reactissa?

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

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

question mark

Mitä menetelmää käytetään yleisesti backendistä saadun datan kokoelmien 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 propin tulee olla, jotta elementeillä kokoelmassa säilyy vakaa identiteetti?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 14

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

What happens if I don't provide a unique key in a list?

Can you explain why using the index as a key is not recommended?

Can you show more examples of using keys in React lists?

Awesome!

Completion rate improved to 2.17

bookDatan Kokoelmien Renderöinti Reactissa

Pyyhkäise näyttääksesi valikon

Nykyaikaisissa verkkosovelluksissa on tavallista renderöidä kokoelmia taustajärjestelmästä saaduista tiedoista. Tämän toteuttamiseksi käytetään map()-metodia. map()-metodin sisällä hyödynnetään palautefunktiota ja palautetaan JSX halutun lopputuloksen näyttämiseksi.

Tarkastellaan esimerkkiä havainnollistamaan toimintaa. Meillä on App-komponentti, joka välittää propin toys, joka on olioiden taulukko. 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 tietynlaista merkkausta kunkin alkion tietojen perusteella.

Sovelluksen koko koodi:

Jos kuitenkin tarkastellaan konsolia, huomataan varoitus: Each child in a list should have a unique "key" prop..

Avain

Avain on olennainen merkkijonoprop, joka täytyy määrittää luotaessa alkioita kokoelmassa.

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

Huomio

Avaimen täytyy olla yksilöllinen vierekkäisten elementtien kesken. Sen tulee pysyä muuttumattomana ajan myötä.

On suositeltavaa käyttää tunnisteita, kuten backendistä saatuja id-arvoja, key-propeina. Tämä käytäntö mahdollistaa sen, että React tunnistaa ja hallitsee yksittäisiä elementtejä kokoelmassa tehokkaasti.

Korjataan aiempi sovelluksemme käyttämällä key-propeja 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 backendistä saadun datan kokoelmien renderöintiin Reactissa?

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

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

question mark

Mitä menetelmää käytetään yleisesti backendistä saadun datan kokoelmien 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 propin tulee olla, jotta elementeillä kokoelmassa säilyy vakaa identiteetti?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 14
some-alt