Adicionando mais um slice no Redux

Nas lições anteriores, trabalhamos intensamente no slice products para produtos. Em uma aplicação Redux real, o estado pode ter muitos slices para várias finalidades. Portanto, nesta lição, vamos adicionar ao estado mais um slice para os vendedores, que serão efetivamente os que adicionarão produtos em nossa aplicação.

Vamos abrir nossa aplicação de produtos e a primeira coisa que faremos é na pasta parts criar mais uma pasta sellers, aqui colocaremos todo o código e componentes relacionados aos vendedores.

Agora, assim como no caso dos produtos, vamos criar um slice para os vendedores. Para começar, na pasta sellers vamos criar o arquivo sellersSlice.js e importar nele o createSlice:

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

Continuamos fazendo os passos padrão. Como valor inicial para o slice, vamos criar quatro vendedores. Para simplificar, eles terão dois campos - id e name:

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

Abaixo, usando o createSlice, vamos criar o slice sellers, passaremos a ele o valor inicial. Como não vamos adicionar vendedores, nem atualizar seus dados posteriormente, vamos deixar o campo de redutores vazio por enquanto:

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

No final do arquivo, não vamos esquecer a exportação do redutor obtido:

sellers/sellersSlice.jsexport default sellersSlice.reducer

Agora precisamos abrir o arquivo store.js na pasta app e importar o redutor obtido:

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

E então atribuí-lo no configureStore como o redutor para sellers:

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

Abra sua aplicação de estudantes. Crie mais uma pasta teachers, aqui você terá os arquivos de código relacionados aos professores. Crie nela o arquivo teachersSlice.js. Usando os materiais da lição, crie nele o slice teachers usando o createSlice.

Задание 2

Deixe que cada objeto com dados do professor tenha três propriedades: id, name (que conterá o sobrenome e iniciais, por exemplo 'Pertov A.V.') e a matéria (qualquer uma que você inventar - física, matemática, biologia, etc.). Faça 3 desses objetos com professores como valor inicial para o slice.

Задание 3

Importe o redutor obtido teachersReducer no store.js e atribua-o como o redutor para teachers, como mostrado na lição.