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.
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
Mixpanel: narzędzie do zaawansowanej analizy danych
2 wrz 2024
Nowoczesne biznesy przyswajają dane na niezwykłą skalę. Jednak zbieranie danych to tylko połowa bitwy - trzeba je także efektywnie analizować. Tu z pomocą przychodzi Mixpanel, narzędzie kluczowe dla zaawansowanej analizy danych. Pozwala ono na głębokie zrozumienie zachowań użytkowników oraz zachęca do podejmowania decyzji opartych na faktach.
Czym jest over-eager loading?
2 wrz 2024
Over-eager loading, to technika optymalizacji bazy danych, której celem jest minimalizowanie ilości zapytań do bazy. W przypadku over-eager loading, za pierwszym razem pobierane są wszystkie potrzebne informacje, co pozwala uniknąć 'drobnych' zapytań, które mogą spowolnić aplikację.
Pinia: Nowoczesna i wydajna biblioteka do zarządzania stanem w aplikacjach Vue.js
1 wrz 2024
Pinia to innowacyjna biblioteka do zarządzania stanem, specjalnie zaprojektowana dla aplikacji Vue.js. Wyróżnia się na tle innych podobnych narzędzi swoją wydajnością, prostotą i elastycznością. Pozwala na ustrukturyzowanie i skuteczne kontrolowanie danych w Twojej aplikacji. Zapraszam do zgłębienia tematu, by odkryć pełnię możliwości Pinii.
Maze: narzędzie do testowania użyteczności stron internetowych
1 wrz 2024
W dzisiejszych czasach, gdy konkurencja w przestrzeni cyfrowej jest niezwykle zacięta, użyteczność strony internetowej stanowi klucz do sukcesu. Maze jest rewolucyjnym narzędziem, które przeprowadza testy użyteczności, umożliwiając twórcom stron internetowych skupienie się na dostarczaniu najlepszych możliwych doświadczeń dla użytkowników.
Macierz Ansoffa: Klucz do efektywnej strategii rozwoju
31 sie 2024
Macierz Ansoffa jest niezastąpionym narzędziem w planowaniu strategicznym każdego biznesu. Pozwala ona na zrozumienie czterech możliwych ścieżek rozwoju firmy: penetracji rynku, rozwoju produktu, rozwoju rynku oraz dywersyfikacji. Jak wykorzystać to narzędzie, aby z optmalizować swoją strategię rozwoju? Przekonajmy się.
Notion - czyli co to jest i jak efektywnie z niego korzystać?
31 sie 2024
Czy kiedykolwiek zastanawialiście się, jak uniknąć chaosu w organizacji pracy? Odpowiedzią może być Notion, innowacyjne narzędzie do zarządzania projektami i nie tylko. W tym artykule przybliżę Wam, czym jest Notion oraz pokażę, jak skutecznie wykorzystać jego możliwości do efektywnej pracy.
Co to jest Prefetching?
30 sie 2024
Prefetching to technika optymalizacyjna, która może zasadniczo podnieść wydajność strony internetowej przez przewidywanie akcji użytkownika. To jakby serwer 'przygotowywał' potencjalne dane do wykorzystania zanim użytkownik je poprosi–sposób na przyspieszenie ładowania strony.
Zobacz wszystkie artykuły