Redux-Thunk
minuta czytania
Redux-Thunk to biblioteka, która pozwala na wykonywanie operacji asynchronicznych w aplikacji opartej na Redux. Jest to jedno z najpopularniejszych rozszerzeń Redux, które pozwala na proste i czytelne zarządzanie stanem aplikacji.
Ostatnie oferty pracy
Redux-Thunk jest dodatkiem do biblioteki Redux. Hostowany jako oddzielna paczka w NPM, jest możliwy do pobrania i ustawienia jako middleware przy inicjalizacji Redux bez skomplikowanej konfiguracji. Pozwala uzyskać asynchroniczność zapytań. Middleware'y w redux pozwalają przechwycić zapytanie i zamiast wykonać pojedynczą zmianę na storze może wykonać serię zapytań, w międzyczasie mogą odpytać API po zewnętrzne dane. Całość jest możliwa, do uzyskania bez Redux-Thunk, ale ten znacznie to ułatwia.
Przykładowe zapytanie w Redux-Thunk
Najprostszym przykładem wykorzystania Redux-Thunk będzie zapytanie do API w celu zalogowania użytkownika. Aby zapytanie przebiegło poprawnie musi wydarzyć się parę rzeczy.
1. Ustawienie stanu aplikacji, że logowanie się rozpoczęło.
2. Wysłanie zapytania do API
3. Ustawienie danych użytkownika w store
4. Ewentualne zwrócenie błędu
export const authLogin = (email, password) => {
return dispatch => {
dispatch(authStart());
axios
.post(`${API_URL}/auth/api/v1/login/`, {
email: email,
password: password
})
.then(res => {
const token = res.data.token;
const user = res.data.user;
dispatch(authSuccess(token, user));
})
.catch(err => {
dispatch(authFail(err));
});
};
};
Dzięki takiemu podejściu możemy wyizolować część logiki naszej aplikacji do pojedynczej funkcji. Możemy wykorzystać mockowanie danych z API i w pełni przetestować działanie takiego Thunka.
Alternatywy do Redux-thunk
Alternatywą do Redux-thunk jest Context API, które jest wbudowane bezpośrednio w bibliotekę React. Zapytania asynchroniczne możemy z łatwością tam utworzyć. Praktyczną różnicę zobaczymy dopiero, gdy Context API będzie obsługiwać spory obiekt, w którym będziemy często aktualizować parametry. Może się okazać, że Context API jest wtedy mniej wydajny i zbyt często uruchamia aktualizacje DOM.
Mimo, że Redux jest oddzielną biblioteką to posiada bogatą dokumentację z dobrze opisanymi przykładami. Przykładów dla Redux-Thunk też jest dużo i jest zdecydowanie produkcyjnym rozwiązaniem do utrzymywania stanu aplikacji.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
Architektura VIPER: Podstawy i praktyczne wskazówki
14 mar 2024
Architektura VIPER to model, wprowadzony dla zwiększenia przejrzystości i testowalności kodu w projektach iOS. Jego implementacja może wydawać się skomplikowana, dlatego przygotowaliśmy przystępny przewodnik, obejmujący teorię i praktykę. Od podstaw po konkrety - zrozumiesz kluczowe elementy tego rozwiązania, aby skutecznie je wykorzystać.
Zasady i Efektywność Metodyki Disciplined Agile
14 mar 2024
Rozważając różne metodyki Agile, często zapominamy o jednej o nazwie Disciplined Agile (DA). Ta metodyka, choć nie tak popularna jak Scrum czy Kanban, ma w sobie wiele zalet, które mogą przynieść wyraźne korzyści w realizacji projektów IT. Sprawdźmy, jakie zasady rządzą DA i jak skuteczna jest ta metodyka w praktyce.
Strangler Fig Pattern: Skuteczne strategie refaktoryzacji starej aplikacji
14 mar 2024
Pisanie nowego kodu jest ekscytujące. Ale co z częścią IT dotyczącą refaktoryzacji? Jak skutecznie modernizować starą aplikację, nie narażając jej na ryzyko awarii? Strangler Fig Pattern to rozwiązanie, które pozwala na stopniową zamianę starego systemu na nowy. Przeanalizujmy tę inspirującą strategię.
QTest a jakość oprogramowania - jak to działa?
13 mar 2024
Zapewnienie jakości oprogramowania staje się coraz ważniejsze w dynamicznie rozwijającym się środowisku IT. Kluczową rolę w tym procesie odgrywają narzędzia do testowania kodu, takie jak QTest. Poznaj zastosowanie i funkcjonalność QTest w kontekście zapewniania najwyższego standardu tworzonego oprogramowania.
Wprowadzenie do iPaaS: Jak skorzystać z Integration Platform as a Service?
13 mar 2024
Zrozumienie i efektywne korzystanie z iPaaS (Integration Platform as a Service) może być krokiem milowym dla Twojej firmy. Nie tylko ułatwia przepływ danych między różnymi aplikacjami, ale również Ci pozwala skoncentrować się na podstawowych zadaniach, gdyż zautomatyzowana integracja zajmuje się resztą. Nawet jeśli jesteś początkującym, nie musisz się obawiać - ten artykuł pomoże Ci zrozumieć, jak wykorzystać iPaaS w praktyce.
Meta Keywords: Jak poprawić SEO Twojej strony
13 mar 2024
Poznaj sekrety efektywnego SEO! W tym artykule przyjrzymy się bliżej metatagowi 'keywords', który pomimo swojego kontrowersyjnego statusu, ma potencjał zwiększyć widoczność Twojej strony w wynikach wyszukiwania. Czytaj dalej, aby dowiedzieć się więcej o tym nieocenionym narzędziu.
Nexus - efektywne zarządzanie pracą zespołową
12 mar 2024
Nexus, to nowoczesne podejście do zarządzania projektami, które stawia na efektywną współpracę zespołową. Puszcza w niepamięć długotrwałe plany i nieelastyczne harmonogramy. Przedstawia skuteczne strategie do zarządzanie projektem, które są wysoce efektywne.
Zobacz wszystkie artykuły