📜  React Redux 动作类型 (1)

📅  最后修改于: 2023-12-03 15:19:44.383000             🧑  作者: Mango

React Redux 动作类型

在 React Redux 中,动作类型用于描述 redux 中的 action。一个动作类型通常是一个字符串常量,用于描述 redux 中的 action 类型。它被用于定义 action 创建函数和 reducer 中的 switch 语句。

定义动作类型

动作类型通常是一个字符串常量,定义在单独的模块中,用于描述 redux 中的 action 类型。例如,在一个 actionTypes.js 文件中定义动作类型:

export const ADD_TODO = 'ADD_TODO';
export const DELETE_TODO = 'DELETE_TODO';
export const TOGGLE_TODO = 'TOGGLE_TODO';
使用动作类型

在调用 action 创建函数时,我们需要传递一个 action 对象。该对象包含一个 type 属性,用于描述我们想要进行的动作。例如,我们可以使用之前定义的动作类型来创建一个添加 todo 的 action:

import { ADD_TODO } from './actionTypes';

const addTodo = (text) => ({
  type: ADD_TODO,
  text,
});

在 reducer 中,我们需要根据动作类型来更新状态。我们可以使用一个 switch 语句来处理每种动作类型。例如,我们可以使用之前定义的动作类型来处理添加 todo 的 action:

import { ADD_TODO } from './actionTypes';

const initialState = {
  todos: [],
};

const reducer = (state = initialState, action) => {
  switch (action.type) {
    case ADD_TODO:
      return {
        ...state,
        todos: [...state.todos, { text: action.text, completed: false }],
      };
    default:
      return state;
  }
};
总结

动作类型是 React Redux 中重要的概念之一。通过定义动作类型,我们可以很方便地组织我们的代码,将 action 创建函数和 reducer 中的 switch 语句联系起来,从而更好地管理应用程序的状态。