Dodawanie kolejnego slice'a w Redux

Na poprzednich zajęciach intensywnie pracowaliśmy nad slice'em products dla produktów. W prawdziwej aplikacji Redux w stanie może być wiele slice'ów do różnych celów. Dlatego na tej lekcji dodamy do state jeszcze jeden slice dla sprzedawców, którzy faktycznie będą dodawać produkty w naszej aplikacji.

Otwórzmy naszą aplikację z produktami i pierwsza rzecz, którą zrobimy, to w folderze parts utworzymy jeszcze jeden folder sellers, tutaj będziemy umieszczać cały kod i komponenty, dotyczące sprzedawców.

Teraz, tak jak w przypadku produktów, stwórzmy slice dla sprzedawców. Na początek w folderze sellers utwórzmy plik sellersSlice.js i zaimportujmy do niego createSlice:

parts/sellers/sellersSlice.jsimport { createSlice } from '@reduxjs/toolkit'

Kontynuujemy standardowe kroki. Jako wartość początkową dla slice'a utwórzmy czterech sprzedawców. Dla prostoty będą mieli dwa pola - id i name:

sellers/sellersSlice.jsconst initialState = [
  { id: '0', name: 'Super Power' },
  { id: '1', name: 'Miracle Life' },
  { id: '2', name: 'Dolls&Toys' },
  { id: '3', name: 'Granny' },
]

Poniżej za pomocą createSlice utwórzmy slice sellers, przekażmy mu wartość początkową. Ponieważ nie będziemy ani dodawać sprzedawców, ani aktualizować ich danych w przyszłości, to niech pole z reducerami pozostanie na razie puste:

sellers/sellersSlice.jsconst sellersSlice = createSlice({
  name: 'sellers',
  initialState,
  reducers: {},
})

Na końcu pliku nie zapomnijmy o eksporcie otrzymanego reducera:

sellers/sellersSlice.jsexport default sellersSlice.reducer

Teraz musimy otworzyć plik store.js w folderze app i zaimportować otrzymany reducer:

app/store.jsimport sellersReducer from '../parts/sellers/sellersSlice'

I następnie przypisać go w configureStore jako reducer dla sellers:

app/store.jsexport default configureStore({
  reducer: {
    products: productsReducer,
    sellers: sellersReducer,
  },
})
Задание 1

Otwórz twoją aplikację ze studentami. Utwórz jeszcze jeden folder teachers, tutaj będziesz miał pliki z kodem, dotyczące nauczycieli. Utwórz w nim plik teachersSlice.js. Korzystając z materiałów lekcji, utwórz w nim slice teachers za pomocą createSlice.

Задание 2

Niech każdy obiekt z danymi nauczyciela ma trzy właściwości: id, name (które będzie zawierać nazwisko i inicjały, na przykład 'Nowak A.B.') i przedmiot (dowolny, jaki wymyślisz - fizyka, matematyka, biologia itp.). Utwórz 3 takie obiekty z nauczycielami jako wartość początkową dla slice'a.

Задание 3

Zaimportuj otrzymany reducer teachersReducer do store.js i przypisz go jako reducer dla teachers, jak pokazano w lekcji.