Reducer Flashcards

1
Q

Reducer

A

reducer - основа Redux — это функции, которые принимают в качестве аргументов текущий state и action и возвращают новый state результат. Другими словами, (state, action) => newState.

Reducer – Это чистая функция (без сайд-эффектов (не посылает запросы на сервер, не работает с localStorage, не подписывается на события-на мышку, клавиши, не вносит изменения в DOM), предсказуемость, иммутабельность), принимающая стейт и экшн, возвращает стейт старый или новый
Преобразовывает стейт, редьюсер обязан возвращать, ту структуру, которую получаем.

Два независимых стейта
const [tasks, dispatchTasks] = useReducer(tasksReducer,{
[todolistId1]: [
{id: v1 (), title: ‘HTML&CSS’, isDone: true},
{id: v1 (), title: ‘JS’, isDone: true},
{id: v1 (), title: ‘ReactJS’, isDone: false},
],
[todolistId2]: [
{id: v1 (), title: ‘Rest API’, isDone: true},
{id: v1 (), title: ‘GraphQL’, isDone: false},
],
})

tasks - стейт актуальный на момент перерисовки
dispatchTask - функция, в которую можем отправить в action, которая попадет в reducer, и заставит вернуть новый state, пересохранить и перерисовать всю страницу.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly