Komponentų propsai NextJS

NextJS, taip pat kaip ir React, duomenys iš pagrindinių komponentų į antrinius gali būti perduodami per propsus.

Pažiūrėkime, kaip tai daroma praktiškai. Tarkime, mūsų antrinis komponentas gali priimti propsus:

src/comp/child/child.jsxexport default function Child({text1, text2}) {
  return <p>
    child
  </p>;
}

Atvaizduokime juos komponento išdėstyme:

src/comp/child/child.jsxexport default function Child({text1, text2}) {
  return <p>
    child
    {text1}
    {text2}
  </p>;
}

Tarkime, pagrindiniame komponente yra prijungtas mūsų antrinis komponentas:

src/app/test/page.jsximport Child from '@/comp/child/child.jsx';

export default function Test() {
  return <>
    <h1>Test</h1>
    <Child />
  </>;
}

Perduokime į antrinį komponentą duomenis iš pagrindinio:

src/app/test/page.jsximport Child from '@/comp/child/child.jsx';

export default function Test() {
  return <>
    <h1>Test</h1>
    <Child text1="aaa" text2="bbb" />
  </>;
}
Задание 1

Sukurkite antrinį komponentą Product produktui atvaizduoti. Tegul propsais perduodamas produkto pavadinimas ir kaina.

Задание 2

Tegu pateikiamas toks masyvas su produktais:

prods.jslet prods = [
  {
    id: 1,
    name: 'prod1',
    cost: 100,
  },
  {
    id: 2,
    name: 'prod2',
    cost: 200,
  },
  {
    id: 3,
    name: 'prod3',
    cost: 300,
  },
];

Cikle atvaizduokite produktų duomenis, naudodami antrinį komponentą Product.