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
Brak ofert 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
Zastosowanie wzorca VO (Value Object) w projektach
26 kwi 2024
Wzorzec VO, czyli Value Object, to istotny element każdego projektu programistycznego. Często nie doceniany, a cichym bohaterem zwiększających efektywność kodu, jest sposobem na skuteczne zarządzanie danymi w aplikacjach. W tej serii artykułów pokażemy praktyczne zastosowania tego wzorca projektowego, które pomogą Ci w codziennej pracy dewelopera.
Content Security Policy (CSP) - Skuteczne techniki zabezpieczania strony internetowej
26 kwi 2024
Content Security Policy (CSP) to potężna technika bezpieczeństwa sieci, która służy do ograniczania zawartości możliwej do załadowania przez Twoją stronę. Dzięki niej, możemy skutecznie chronić naszą witrynę przed atakami takimi jak Cross-Site Scripting (XSS). W tym artykule zgłębimy najważniejsze aspekty konfiguracji CSP oraz przedstawimy przykłady jej zastosowań w praktyce.
Co to jest Xcode i jak go używać?
26 kwi 2024
Xcode to rozbudowane środowisko programistyczne firmy Apple, stworzone z myślą o tworzeniu aplikacji na urządzenia z systemem iOS czy macOS. Nasuwa się pytanie: jak skorzystać z tego narzędzia? W poniższym artykule przedstawimy najważniejsze funkcje Xcode oraz kroki prowadzące do pierwszego, własnego projektu.
Jak skutecznie wykorzystać marketing mobilny w strategii marki?
25 kwi 2024
W dobie cyfryzacji, marketing mobilny staje się niezbędnym narzędziem w promocji i rozwoju biznesu. W tym artykule poznamy skuteczne strategie.
MSTest: Co to jest i jakie są jego główne cechy?
25 kwi 2024
MSTest, wszechstronne narzędzie do testowania jednostkowego stworzone przez Microsoft, zyskuje na popularności wśród programistów .NET. Czy to ze względu na jego natywną integrację z Visual Studio, czy też za sprawą rozbudowanych funkcji? Pora rozejrzeć się po pokładzie MSTest, zgłębiając kluczowe aspekty jego architektury i funkcji.
Wzorzec Singletona: efektywne zarządzanie zasobami
25 kwi 2024
Singleton to wzorzec projektowy, który pomaga zarządzać zasobami w efektywny sposób. Daje on możliwość utworzenia tylko jednej instancji klasy, gwarantując jednorazowy dostęp do zasobu, zwiększając wydajność oraz poprawiając kontrolę nad procesami.
Pattern Matching w praktyce: zrozumienie i wykorzystanie w codziennym kodowaniu
24 kwi 2024
Pattern Matching to kluczowy aspekt wielu języków programowania, którym często nie poświęcamy dostatecznej uwagi. W tym artykule zgłębimy jego podstawy i zasady funkcjonowania. Pokażemy przykłady wykorzystania, które pomogą Wam efektywniej kodować na co dzień.
Zobacz wszystkie artykuły