Olá, nesta aula foi criado o reducer adicionarTodasAsCategoriais. Ele retorna o payload ao invés de atualizar o state. Não entendi muito bem esta parte, gostaria de saber qual é a diferença entre estas duas formas e quando usar cada uma delas.
Olá, nesta aula foi criado o reducer adicionarTodasAsCategoriais. Ele retorna o payload ao invés de atualizar o state. Não entendi muito bem esta parte, gostaria de saber qual é a diferença entre estas duas formas e quando usar cada uma delas.
Olá Thalya!
state.push(payload) e return payload são duas formas diferentes de manipular o estado em um reducer, mas elas têm usos diferentes.
state.push(payload): Esta é uma forma de adicionar novos dados ao estado existente. Por exemplo, se o estado atual é uma lista de categorias, e você quer adicionar uma nova categoria a essa lista, você pode usar state.push(payload). Isso adicionará o payload (a nova categoria) ao final da lista de categorias existentes.
return payload: Esta é uma forma de substituir completamente o estado atual com os novos dados. Por exemplo, se o estado atual é uma lista de categorias, e você quer substituir essa lista inteira por uma nova lista de categorias, você pode usar return payload. Isso fará com que o estado atual seja completamente substituído pelo payload (a nova lista de categorias).
No código que você está estudando, return payload foi usado porque a intenção era substituir todas as categorias existentes pelas novas categorias que foram buscadas.
Vamos a um exemplo prático para ilustrar:
Suponha que o estado atual seja uma lista de categorias como esta: ['Categoria 1', 'Categoria 2', 'Categoria 3'].
Se você fizer state.push('Categoria 4'), o estado se tornará ['Categoria 1', 'Categoria 2', 'Categoria 3', 'Categoria 4'].
Mas se você fizer return ['Categoria 4', 'Categoria 5'], o estado se tornará ['Categoria 4', 'Categoria 5'], substituindo completamente as categorias anteriores.
Espero ter ajudado e bons estudos!