⊗jsrxPmRDAL 31 of 57 menu

Дадаванне дадатковай логікі ў Redux прыкладанне

На гэтым заняцці мы дадамо апошні компанент да нашага прыкладання. Калі быць канкрэтным, то мы будзем дадаваць да прадукту рэакцыю карыстальніка, які яго альбо заказваў, альбо прачытаў пра яго інфармацыю.

Давайце адчынем наша прыкладанне з прадуктамі. Як і ў выпадку з назвай прадаўца, нам трэба паказаць рэакцыю карыстальнікаў у некалькіх месцах прыкладання. А гэта значыць, што нам спатрэбіцца асобны кампане́нт. Таму пачнем з таго, што ў тэчцы products створым файл UserReactions.jsx. Давайце для пачатку пропішам у ім аб'ект, у якім будуць нашы рэакцыі:

const reactionObj = { good: '+', soso: '+/-', bad: '-', }

А ніжэй пачнем пісаць самую функцыю, у якую будзем перадаваць слайс product:

export const UserReactions = ({ product }) => {}

Цяпер у фігурных дужках напішам цела функцыі UserReactions. Для гэтага перабярэм з дапамогай map пары ключ-значэнне нашага reactionObj, для кожнай атрымаем абазначэнне для кнопкі ('+', '+/-' ці '-') і лікавае значэнне той ці іншай рэакцыі (яго мы будзем выцягваць з product у store па назве рэакцыі):

const userReactions = Object.entries(reactionObj).map(([name, image]) => { return ( <button key={name} type="button" className="reaction-button"> {image} {product.reactions[name]} </button> ) })

І пасля гэтага ў канцы кода функцыі вернем вёрстку з кнопкамі userReactions:

return <div>{userReactions}</div>

А таксама дадамо яшчэ трохі стыляў у index.css:

.reaction-button { margin-right: 10px; margin-bottom: 10px; }

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

Адчынiце ваша прыкладанне са студэнтамі. У вашым прыкладанні будзе магчымасць для карыстальнікаў выбраць сярод студэнтаў старосту групы і капітана спартовай каманды. Таму, вывучыўшы матэрыялы ўроку, стварыце ў тэчцы students файл UserVotes.jsx. У пачатку файла стварыце аб'ект votesObj, у якім у вас будзе дзве ўласцівасці - leader і captain, са значэннямі GL і TC, у якасці абазначэння для кнопак.

Ніжэй у файле пасля вызначэння аб'екта votesObj напішыце код функцыі UserVotes, па аналогіі з матэрыялам з дадзенага ўроку.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць