Reactjs 是否必须在redux层中创建动作创建者?

Reactjs 是否必须在redux层中创建动作创建者?,reactjs,redux,Reactjs,Redux,我是react的redux库的新手 这是我的密码 // action creator export function updateCategories(payload) { return { type: UPDATE_CATEGORY, payload }; } // dispatch action creator dispatch(updateCategories({ list: data })); 但如果我真的喜欢: dispatch({ type: UPDATE_CATEGORY

我是react的redux库的新手 这是我的密码

// action creator
export function updateCategories(payload) {
  return { type: UPDATE_CATEGORY, payload };
}

// dispatch action creator 
dispatch(updateCategories({ list: data }));
但如果我真的喜欢:

dispatch({ type: UPDATE_CATEGORY, payload });

那么,如果我直接在分派中编写动作而不从函数返回,那会有什么问题呢?

从技术上讲,您可以直接从组件中分派动作,但有动作创建者的好处,例如

  • 它为分派创建了一个直观命名的、可重用的函数,您可以根据需要导入该函数,而不是手动到处分派。因此,如果您想更改某个动作的分派方式,只需更改动作创建者,而不必遍历它使用的所有位置并更改每个位置
  • 简单地使用有效负载分派某些内容是可以的,但您也可能最终拥有与该分派相关的逻辑,比如处理有效负载或获取数据(使用一些工具,如
    redux-thunk
    )。最好是有一个单独的动作创建者,在其中定义了所有的动作,可以在整个应用程序中重用,而不是到处复制粘贴这些逻辑

从技术上讲,这很好,您可以直接从组件
分派
,但是有动作创建者的好处,例如

  • 它为分派创建了一个直观命名的、可重用的函数,您可以根据需要导入该函数,而不是手动到处分派。因此,如果您想更改某个动作的分派方式,只需更改动作创建者,而不必遍历它使用的所有位置并更改每个位置
  • 简单地使用有效负载分派某些内容是可以的,但您也可能最终拥有与该分派相关的逻辑,比如处理有效负载或获取数据(使用一些工具,如
    redux-thunk
    )。最好是有一个单独的动作创建者,在其中定义了所有的动作,可以在整个应用程序中重用,而不是到处复制粘贴这些逻辑

它有助于代码的可重用性。
您可以通过此链接了解更多信息,它有助于代码的可重用性。 您可以通过此链接了解更多信息