Redux表示处理状态(归约器)have to be pure的动作。
但是,他们查看了React-Redux文档,展示了如何向Todos列表中添加新的Todo任务,并且该函数为新的Todo任务生成了新的标识符。这显然不是纯粹的。再次调用同一函数将不会产生相同的输出。
有一个例子(来自this page):
// redux/actions.js
import { ADD_TODO } from "./actionTypes";
let nextTodoId = 0;
export const addTodo = content => ({
type: ADD_TODO,
payload: {
id: ++nextTodoId,
content
}
});
// ... other actions
这是否意味着我必须忘记到目前为止所学到的一切?
答案 0 :(得分:5)
在我看来,这是一个动作创造者,而不是减速器。动作创作者不必一定是纯粹的。
动作创建者也可以是异步的并且有副作用。