Skip to content
Devstock Academy
  • O nas
  • Moduły Akademii
    • Moduł 1 – Podstawy programowania
    • Moduł 2 – React.js
    • Moduły 3-6
  • Blog
  • Kontakt
  • O nas
  • Moduły Akademii
    • Moduł 1 – Podstawy programowania
    • Moduł 2 – React.js
    • Moduły 3-6
  • Blog
  • Kontakt
Dołącz do społeczności
Devstock Academy Banner
Programowanie i Technologie Webowe

Redux i alternatywy: Zarządzanie stanem w aplikacjach React

  • 16 paź, 2024
  • Komentarze 0
react js with redux - react redux - react with redux - what is redux react

W dzisiejszym dynamicznym świecie aplikacji internetowych efektywne zarządzanie stanem jest kluczem do tworzenia skalowalnych i responsywnych interfejsów. Połączenie React JS z Redux stało się jednym z najpopularniejszych rozwiązań wśród programistów. W tym artykule wyjaśnimy, jak używać Redux z React, a także przedstawimy alternatywne podejścia, takie jak React Context czy MobX. Omówimy przypadki użycia każdego z narzędzi oraz to, jak mogą one uprościć zarządzanie stanem w większych aplikacjach. Skupimy się również na aktualnych trendach w zarządzaniu stanem. # react js with redux # react redux # react with redux # what is redux react

Czym są frameworki programistyczne? Przewodnik po narzędziach

Czym jest Redux i jak działa z React?

Redux (oficjalna strona) to biblioteka JavaScript służąca do zarządzania stanem aplikacji. Umożliwia scentralizowane zarządzanie stanem, co jest szczególnie przydatne w złożonych aplikacjach. Redux i React tworzą potężne połączenie, które pozwala na przewidywalne i efektywne zarządzanie stanem w aplikacjach React.

React Redux (oficjalna strona) to oficjalna biblioteka łącząca obydwa zagadnienia. Zapewnia ona bezproblemową integrację, dzięki czemu komponenty reactowe mogą korzystać z zasobów Reduxa.

Podstawowe koncepcje Redux

  • Store: Centralne miejsce przechowywania stanu apówlikacji.
  • Akcje (Actions): Obiekty opisujące zdarzenia w aplikacji.
  • Reducer: Funkcja określająca, to jak stan aplikacji zmienia się w odpowiedzi na akcje.
  • Provider: Komponent dostarczany przez React Redux, który udostępnia zasoby komponentom aplikacji.

Kurs programowania z gwarancją pracy - banner

# react js with redux # what is redux react

Tworzenie aplikacji React z Redux

Instalacja

Aby rozpocząć, zainstalujmy Redux i React Redux w naszej aplikacji:

npm install redux react-redux

Tworzenie Store

Tworzymy store Redux za pomocą funkcji createStore i przekazujemy do niej nasz reducer.

import { createStore } from 'redux';
import rootReducer from './reducers';

const store = createStore(rootReducer);

Integracja Store z React

Używamy komponentu Provider z React Redux, aby udostępnić store w całej aplikacji.

import { Provider } from 'react-redux';
import store from './store';

function App() {
  return (
    <Provider store={store}>
      <GłównaAplikacja />
    </Provider>
  );
}

Diagram ukazujący przepływ danych w aplikacji reactowej z użyciem redux - react js with redux - react redux - react with redux - what is redux react

Używanie Redux w komponentach React

Dostęp do stanu i wysyłanie akcji

W komponentach używamy hooków useSelector i useDispatch z React Redux:

  • useSelector: Dostęp do stanu ze store.
  • useDispatch: Wysyłanie akcji do store.

Przykład komponentu licznika:

import React from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { increment, decrement } from './actions';

function Licznik() {
  const licznik = useSelector((state) => state.licznik);
  const dispatch = useDispatch();

  return (
    <div>
      <p>Licznik: {licznik}</p>
      <button onClick={() => dispatch(increment())}>Zwiększ</button>
      <button onClick={() => dispatch(decrement())}>Zmniejsz</button>
    </div>
  );
}

Redux Toolkit – Nowoczesne narzędzie do pracy z Redux

Redux Toolkit (RTK) to oficjalny zestaw narzędzi do pracy z Redux, który upraszcza konfigurację i codzienną pracę.

Zalety

  • Prostota: Redukuje ilość kodu potrzebnego do skonfigurowania Redux.
  • Best practices: Wbudowane dobre praktyki.
  • Wsparcie dla TypeScript.

Instalacja

npm install @reduxjs/toolkit

Tworzenie store z Redux Toolkit

import { configureStore } from '@reduxjs/toolkit';
import licznikReducer from './licznikSlice';

const store = configureStore({
  reducer: {
    licznik: licznikReducer,
  },
});

Tworzenie Slice w Redux Toolkit

Slice to połączenie stanu, akcji i reducerów w jednym miejscu.

import { createSlice } from '@reduxjs/toolkit';

const licznikSlice = createSlice({
  name: 'licznik',
  initialState: 0,
  reducers: {
    increment: (state) => state + 1,
    decrement: (state) => state - 1,
  },
});

export const { increment, decrement } = licznikSlice.actions;
export default licznikSlice.reducer;

Tabela porównująca kod w redyx vs redux toolkit - react js with redux - react redux - react with redux - what is redux react

Middleware w Redux

Middleware pozwalają na przechwytywanie akcji i wykonywanie dodatkowych operacji, takich jak logowanie czy obsługa asynchroniczna.

Przykłady middleware

  • Redux Thunk: Obsługa akcji asynchronicznych.
  • Redux Saga: Zarządzanie efektami ubocznymi za pomocą generatorów.
  • Logger middleware: Logowanie akcji i stanów.

Dodawanie middleware w Redux Toolkit

import { configureStore } from '@reduxjs/toolkit';
import licznikReducer from './licznikSlice';
import logger from 'redux-logger';

const store = configureStore({
  reducer: {
    licznik: licznikReducer,
  },
  middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(logger),
});

Alternatywy dla Redux

React Context

React Context umożliwia przekazywanie danych przez drzewo komponentów bez użycia props.

Zalety:

  • Prostota: Idealny dla mniejszych aplikacji, ponieważ umożliwia przekazywanie danych bezpośrednio przez drzewo komponentów, eliminując konieczność ręcznego przekazywania propsów na każdym poziomie.
  • Bez dodatkowych bibliotek: React Context jest wbudowaną funkcją w React, więc nie wymaga instalowania żadnych dodatkowych bibliotek.

Wady:

  • Brak optymalizacji dla dużych aplikacji: React Context nie jest optymalizowany do obsługiwania bardzo dużych aplikacji, ponieważ może powodować nadmierne renderowanie komponentów.
  • Nadmierne renderowania: Zmiany w danych przekazywanych przez Context mogą powodować renderowanie większej liczby komponentów niż to potrzebne, co wpływa na wydajność.

Przykład użycia React Context

const TemaContext = React.createContext('jasny');

function App() {
  return (
    <TemaContext.Provider value="ciemny">
      <Toolbar />
    </TemaContext.Provider>
  );
}

function Toolbar() {
  return (
    <div>
      <PrzyciskTematu />
    </div>
  );
}

function PrzyciskTematu() {
  const tema = React.useContext(TemaContext);
  return <button>{tema}</button>;
}

MobX

MobX to biblioteka do zarządzania stanem, która oparta jest na reaktywności.

Zalety:

  • Automatyczna reaktywność: Narzędzie automatycznie wykrywa zmiany w stanie i aktualizuje tylko te części interfejsu, które tego potrzebują, co prowadzi do lepszej wydajności i zmniejsza ilość ręcznego kodowania.
  • Mniej kodu: Dzięki reaktywnemu podejściu programiści piszą mniej kodu w porównaniu do innych narzędzi do zarządzania stanem, co przyspiesza rozwój aplikacji i ułatwia jej utrzymanie.

Wady:

  • Mniejsza społeczność: W porównaniu do innych popularnych bibliotek do zarządzania stanem, takich jak Redux, MobX posiada mniejszą społeczność, co może ograniczać dostęp do wsparcia i zasobów.
  • Trudniejsze debugowanie: MobX może być trudniejszy do debugowania, ponieważ jego automatyczna reakcja na zmiany stanu może sprawiać trudności w śledzeniu przyczyn pewnych aktualizacji lub renderowań.

Trendy w zarządzaniu stanem

Obecnie deweloperzy coraz częściej korzystają z wbudowanych możliwości React, takich jak React Context i Hooki, ponieważ są one wystarczające do zarządzania stanem w mniejszych aplikacjach. Ponadto, Redux Toolkit upraszcza korzystanie z tradycyjnego Redux, co sprawia, że jest bardziej dostępny i łatwiejszy w obsłudze. Dodatkowo, pojawiają się nowe biblioteki, takie jak Recoil czy Zustand, które oferują alternatywne podejścia do zarządzania stanem, dzięki czemu programiści mają większy wybór narzędzi dostosowanych do różnych potrzeb.

Kiedy wybrać Redux?

  • Duże aplikacje: Wybierz scentralizowane zarządzanie stanem, gdy potrzebna jest pełna kontrola nad stanem w rozbudowanych projektach, co ułatwia zarządzanie danymi w różnych częściach aplikacji.
  • Przewidywalność: Scentralizowane podejście do zarządzania stanem zapewnia przewidywalny sposób aktualizacji danych, dzięki czemu łatwiej śledzić, jak zmiany wpływają na aplikację.
  • Narzędzia deweloperskie: Bogate wsparcie dla debugowania, w tym debugowanie z podróżą w czasie, co umożliwia łatwe monitorowanie i cofanie zmian w stanie aplikacji.

Podsumowanie

Zarządzanie stanem jest kluczowym elementem w rozwoju aplikacji React, ponieważ wpływa na organizację i wydajność aplikacji. React JS z Redux oferuje potężne narzędzie do zarządzania stanem, zwłaszcza gdy pracujemy nad dużymi i złożonymi aplikacjami. Z kolei alternatywy, takie jak React Context czy MobX, mogą być bardziej odpowiednie w mniejszych projektach lub gdy preferowane jest inne podejście.

Wybór odpowiedniego narzędzia zależy od specyfiki projektu i potrzeb zespołu. Ważne jest, aby znać dostępne opcje i wybrać tę, która najlepiej spełnia wymagania Twojej aplikacji React.

Zapraszamy do eksperymentowania z różnymi narzędziami, aby znaleźć najlepsze rozwiązanie dla swoich projektów. Efektywne zarządzanie stanem nie tylko może znacząco poprawić jakość aplikacji, ale także zwiększyć ich skalowalność. # react js with redux # react redux # react with redux # what is redux react

Udostępnij na:
Czym są frameworki programistyczne? Przewodnik po narzędziach
Angular, Vue, czy React? Który framework frontendowy wybrać?

Zostaw komentarz :) Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Dołącz do społeczności DEVSTOCK - banner reklamowy

Najnowsze wpisy

Thumb
Cursor AI vs VS Code z Copilotem:
09 cze, 2025
Thumb
GitHub Copilot vs Cursor vs inne: Starcie
03 cze, 2025
Thumb
Jak AI zmienia programowanie w 2025? Narzędzia,
30 maj, 2025

Kursy Samodzielne

  • Kurs HTML - obrazek wyróżniający
    Kurs HTML – Zbuduj strukturę swojej pierwszej strony internetowej
    99,00 zł Pierwotna cena wynosiła: 99,00 zł.49,00 złAktualna cena wynosi: 49,00 zł.
  • Kurs CSS Podstawowy - obrazek wyróżniający
    Kurs CSS Podstawowy – Stwórz styl i układ swojej pierwszej strony internetowej
    99,00 zł Pierwotna cena wynosiła: 99,00 zł.49,00 złAktualna cena wynosi: 49,00 zł.
  • Kurs CSS Zaawansowany - obrazek wyróżniający
    Kurs CSS Zaawansowany – Opanuj nowoczesne techniki stylowania i układu
    99,00 zł Pierwotna cena wynosiła: 99,00 zł.49,00 złAktualna cena wynosi: 49,00 zł.
  • Kurs JS od podstaw - obrazek wyróżniający
    Kurs JavaScript od podstaw
    149,00 zł Pierwotna cena wynosiła: 149,00 zł.99,00 złAktualna cena wynosi: 99,00 zł.
  • Kurs JavaScript zaawansowany - obrazek wyróżniający
    Kurs JavaScript zaawansowany
    149,00 zł Pierwotna cena wynosiła: 149,00 zł.99,00 złAktualna cena wynosi: 99,00 zł.
klarna raty 0% - banner
Droga do kariery z Akademią Devstock
Banner reklamowy whitepress

Tagi

5G AI Architektura Cyberbezpieczeństwo Feedback Frontend Git IoT JavaScript Motywacja Nauka efektywna Optymalizacja i wydajność Programowanie React.JS Rozwój osobisty WebDevelopment
Logo FitBody Center Warszawa
Dołącz do społeczności DEVSTOCK - banner reklamowy

Produkty

  • Kurs HTML - obrazek wyróżniający
    Kurs HTML – Zbuduj strukturę swojej pierwszej strony internetowej
    99,00 zł Pierwotna cena wynosiła: 99,00 zł.49,00 złAktualna cena wynosi: 49,00 zł.
  • Kurs CSS Podstawowy - obrazek wyróżniający
    Kurs CSS Podstawowy – Stwórz styl i układ swojej pierwszej strony internetowej
    99,00 zł Pierwotna cena wynosiła: 99,00 zł.49,00 złAktualna cena wynosi: 49,00 zł.
  • Kurs CSS Zaawansowany - obrazek wyróżniający
    Kurs CSS Zaawansowany – Opanuj nowoczesne techniki stylowania i układu
    99,00 zł Pierwotna cena wynosiła: 99,00 zł.49,00 złAktualna cena wynosi: 49,00 zł.
  • Kurs JS od podstaw - obrazek wyróżniający
    Kurs JavaScript od podstaw
    149,00 zł Pierwotna cena wynosiła: 149,00 zł.99,00 złAktualna cena wynosi: 99,00 zł.
  • Kurs JavaScript zaawansowany - obrazek wyróżniający
    Kurs JavaScript zaawansowany
    149,00 zł Pierwotna cena wynosiła: 149,00 zł.99,00 złAktualna cena wynosi: 99,00 zł.
Group-5638-1

Devstock – Akademia programowania z gwarancją pracy

🏠 ul. Bronowska 5a,
03-995 Warszawa
📞 +48 517 313 589
✉️ contact@devstockacademy.pl

Linki

  • Poznaj firmę Devstock
  • Wejdź do społeczności Devstock
  • Polityka prywatności
  • Regulamin

FitBody Center

Strona

  • Strona główna
  • Kontakt

Newsletter

Bądź na bieżąco, otrzymuj darmową wiedzę i poznaj nas lepiej!


Icon-facebook Icon-linkedin2 Icon-instagram Icon-youtube Tiktok
Copyright 2025 Devstock. Wszelkie prawa zastrzeżone
Devstock AcademyDevstock Academy
Sign inSign up

Sign in

Don’t have an account? Sign up
Lost your password?

Sign up

Already have an account? Sign in

Zacznij kodować od zera – za 0 zł

Dołącz do społeczności Devstock i zgarnij 14 dni darmowego dostępu do naszej Akademii – pełnej lekcji, zadań, quizów i grywalizacji.

Przetestuj wszystko na luzie – bez zobowiązań.

  • 🟨 Nauka od podstaw, nawet jeśli nigdy nie kodował_ś
  • 🟨 Wszystko krok po kroku, jasno i praktycznie
  • 🟨 Idealna baza pod AI, automatyzacje i projekty
  • 🟨 Bez zobowiązań – testuj i ucz się we własnym tempie
CHCĘ DOSTĘP ZA 0 ZŁ – SPRAWDZAM!
SPRAWDZAM ZA 0 ZŁ!