Асноўныя тэрміны ў Redux
У гэтым уроку мы коратка прайдземся па асноўных паняццях і тэрмінах, валоданне якімі неабходна пры далейшым вывучэнні Redux.
Пачнем мы з дзеяння (action).
Гэта некаторая падзея, якая
апісвае тое, што адбылося ў нашым
дадатку. Тэхнічна гэта звычайны
JavaScript аб'ект,
які змяшчае поле type, у якое мы запісваем
назву дзеяння.
Другім важным полем аб'екта з дзеяннем
з'яўляецца поле payload.
Яно будзе змяшчаць карысную нагрузку
дзеяння. Пад карыснай нагрузкай разумеюцца
некаторыя даныя, якія перадаюцца
параметрамі ў дзеянне.
Таксама ў гэтым аб'екце могуць быць і іншыя палі з дадатковай інфармацыяй.
Давайце для прыкладу створым дзеянне
і назовім яго addOrderAction. Хай
яно адказвае за дадаванне заказа.
Значыць у ўласцівасці type мы пакажам, што
заказ дададзены (orderAdded) у заказы
(orders). А ў payload пакажам падрабязней,
што за заказ, напрыклад - пафарбаваць
сцяну:
const addOrderAction = {
type: 'orders/orderAdded',
payload: 'Paint a wall'
}
Каб кожны раз не пісаць аб'ект
з дзеяннем уручную, мы можам выкарыстоўваць
так званы action creator - функцыю,
якая будзе ствараць і вяртаць
нам аб'ект з дзеяннем. Назовім яе
addOrder. Параметрам мы будзем
перадаваць ёй патрэбны нам тэкст для
ўласцівасці payload:
const addOrder = text => {
return {
type: 'orders/orderAdded',
payload: text
}
}
Наступнае важнае паняцце ў ланцужку - гэта reducer (рэдьюсер) - функцыя, якая прымае бягучы стан і аб'ект з дзеяннем. Гэтая функцыя вырашае, як абнавіць стан і вяртае ўжо абноўлены стэйт, калі гэта неабходна.
Наступныя паняцце - сховішча (store) - гэта аб'ект, у якім захоўваецца бягучае глабальнае стан Redux дадатку. У гэтага аб'екта ёсць метад getState, з дапамогай якога можна атрымаць бягучае значэнне стэйта.
У сховішча ёсць таксама метад dispatch. Выклікаць яго і перадаць аб'ект з дзеяннем - гэта адзіны спосаб, каб змяніць стэйт. У выніку стор запусціць функцыю-рэдьюсер і захавае ў себе новае значэнне стэйта.
І апошняе паняцце, якое мы разгледзім у гэтым уроку - гэта селектары. Селектары - гэта спецыяльныя функцыі, якія ведаюць, як здабыць інфармацыю з стэйта, які знаходзіцца ў сховішчы. Гэтыя функцыі аказваюцца асабліва карыснымі пры разрастанні дадатку і дапамагаюць пазбегнуць паўтарэння кода.
Падрабязней пра ўсе гэтыя паняцці і пра прымяненне іх на практыцы мы даведаемся з наступных раздзелаў гэтага дапаможніка.