Основни термини в 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. Да го извикаме и да подадем обект с действие - това е единственият начин, по който да се промени състоянието. В резултат хранилището ще стартира функцията-редюсер и ще запази у себе си новата стойност на състоянието.
И последното понятие, което ще разгледаме в този урок - това са селектори. Селекторите са специални функции, които знаят как да извлекат информация от състоянието, намиращо се в хранилището. Тези функции се оказват особено полезни при разрастване на приложението и помагат да се избегне повторение на код.
Повече за всички тези понятия и за прилагането им на практика ще научим от следващите раздели на този учебник.