АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗jsrtPmCpPr 81 of 112 menu

Пропсы кампанентаў у React

У папярэднім уроке мы з вамі вывялі некалькі асобнікаў прадуктаў:

function App() { return <div> <Product /> <Product /> <Product /> </div>; }

Пакуль кожны выклік тэга з прадуктам вывяліць на экран адно і тое ж. Давайце цяпер зробім кожны прадукт унікальным.

Хай, напрыклад, кожны прадукт павінен мець назву і цану. Зробім так, каб кожны выклік тэга з прадуктам вывяліў прадукт са сваім імем і цаной, аформленымі ў патрэбную нам вёрстку.

Для гэтага нам неабходна прадзяліць некалькі крокаў.

Для пачатку пры выкліку тэга з прадуктам мы ў гэты тэг будзем пісаць два атрыбуты: атрыбут name з назвай прадукту і атрыбут cost з цаной, вось так:

function App() { return <div> <Product name="product1" cost="100" /> <Product name="product2" cost="200" /> <Product name="product3" cost="300" /> </div>; }

Імёны і значэнні гэтых атрыбутаў будуць трапляць у выглядзе аб'екта ў першы параметр функцыі-канструктара нашага кампанента Product:

function Product(props) { console.log(props); // аб'ект з ключамі name і cost return <p> product </p>; }

Імя параметра можа быць якім заўгодна, але ў React прынята называць яго props. Фактычна гэта не проста імя параметра, а важная канцэпцыя React.

Сутнасць гэтай канцэпцыі ў наступным: пры выкліку тэга кампанента ў гэты тэг можна запісваць атрыбуты з данымі. Гэтыя даныя будуць трапляць у пропсы кампанента. Затым кампанент можа выкарыстоўваць гэтыя даныя, напрыклад, для стварэння патрэбнай вёрсткі.

Давайце зробім гэта:

function Product(props) { return <p> name: <span>{props.name}</span>, cost: <span>{props.cost}</span> </p>; }

Больш зручна і больш прынята не карыстацца аб'ектам props, а адразу выконваць дэстуктурызацыю пропсаў прама ў параметрах функцыі:

function Product({ name, cost }) { return <p> name: <span>{name}</span>, cost: <span>{cost}</span> </p>; }

Зрабіце кампанент Employee, які выводзіць даныя работніка на экран. Хай гэтымі данымі будуць прозвішча, імя, імя па бацьку і зарплата. Аформіце гэтыя даныя ў патрэбную вам вёрстку. Вывядзіце ў кампаненце App трох работнікаў з рознымі данымі.

byenru