Пример React-Redux имеет не чистую функцию.Я думал, что редукторы должны быть чистыми? - PullRequest
0 голосов
/ 10 октября 2018

Redux говорит, что действия, обрабатывающие состояние (Редукторы) должны быть чистыми .

Однако, глядя на документы React-Redux, они показывают, как добавить новую задачу Todo всписок Todos и функция генерирует новый идентификатор для новой задачи Todo.Это явно не чисто.Повторный вызов той же функции не приведет к тому же выводу.

Вот пример (из этой страницы ):

// redux/actions.js
import { ADD_TODO } from "./actionTypes";

let nextTodoId = 0;
export const addTodo = content => ({
  type: ADD_TODO,
  payload: {
    id: ++nextTodoId,
    content
  }
});

// ... other actions

Означает ли это, что я должензабыть все, что я узнал до сих пор?

1 Ответ

0 голосов
/ 10 октября 2018

Мне кажется, это создатель действия, а не редуктор.Создатели действий не должны быть чистыми.

Создатели действий также могут быть асинхронными и иметь побочные эффекты.

https://redux.js.org/basics/actions#action-creators

...