在 Redux 中,action 是描述应用程序中变化的普遍方式。但是,action 可以有任何属性和结构,这可能使代码变得混乱和难以维护。redux-standard-action 是一个 npm 包,旨在帮助标准化 action 的结构,使它们易于阅读,理解和处理。
安装
这个包非常易于安装,只需在命令行中键入以下命令:
npm install redux-standard-action
使用
在使用之前,让我们来了解一下标准化 action 的结构。在 redux-standard-action 中,一个标准化的 action 需要包含以下三个属性:
type
: 表示 action 类型的字符串payload
: 包含关于 action 的任何信息的对象。如果没有相关信息,则不需要这个属性。error
: 布尔值,表示 action 是否代表错误。
以下是一个示例 action:
{ type: 'ADD_TODO', payload: { text: 'Learn Redux', completed: false } }
以下是一个示例错误 action:
{ type: 'FETCH_FAILED', payload: new Error('Something went wrong.'), error: true }
使用 redux-standard-action,您可以使用 createAction 函数标准化您的 action。例如:
import { createAction } from 'redux-standard-action'; const ADD_TODO = 'ADD_TODO'; const addTodo = createAction(ADD_TODO, (text) => ({ text }));
以上代码创建了一个标准化 action 的创建函数 addTodo
。调用该函数返回以下 action:
{ type: 'ADD_TODO', payload: { text: 'Learn Redux' } }
您还可以使用 handleAction
函数轻松处理标准化 action。例如:
-- -------------------- ---- ------- ------ - ------------ - ---- ---------------- ------ - ------------ - ---- ------------------------ ----- -------- - ----------- ----- ------- - ---------------------- ------ -- -- ---- ---- ----- ------------ - ------------- -------- ------- - -------- - ---- - -- -- - ------ ---------- - ----- ---------- ----- --- -- -- --
以上代码使用 handleAction
函数将 ADD_TODO
action 关联到 todosReducer
。如果调用 addTodo
函数,则 todosReducer
将添加一个新的 todo 到状态中。
指导意义
redux-standard-action 使处理 action 更加简单和一致,从而使你的代码更加整洁和可维护。 它还可以与应用程序代码和其他 Redux 库集成。
如果您正在使用或考虑使用 Redux,那么 redux-standard-action 绝对是一个值得尝试的 npm 包。试试它,看看它如何帮助简化您的 Redux 代码,并简化您的开发过程!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067009e361a36e0bce8bef