redux - redux js中事件的命名约定

标签 redux

Redux 将调度状态更改的操作。 redux 中 Action 类型的命名约定是什么?

最佳答案

社区中有一些约定,我将在这里列出我知道并认为有用的约定:

  • 最常见的约定是 将 Action 类型(“事件类型”)保留在 CONSTANT_CASE .

    这避免了拼写错误,其中操作的类型为 my_type ,但 reducer 需要 my-type 的类型或 My_Type .
  • 另一个非常常见的约定是 将 Action 类型作为常量保存在单独的文件中 ,例如var MY_ACTION_TYPE = 'MY_ACTION_TYPE'; ,并从那里使用它们。

    这也避免了拼写错误,因此您不会期望操作具有 MY_ACTION_TYP 类型.如果该变量不存在,您将立即收到错误消息,尤其是在您进行 linting 时。
  • 一个不太常见但非常有用的约定是 将操作范围限定为项目和域 . Erik Rasmussen 推广了这种方法在他的"Ducks" proposal ,它指定 Action 类型必须是这种形状:var MY_ACTION_TYPE = 'appname/domain/MY_ACTIONTYPE' .

    这避免了两个 Action 常数具有相同值的情况。例如。假设您有一个管理区域和一个面向用户的区域,并且两者都有发送 'CHANGE_USERNAME' 的表单 Action 类型。这将使两个 reducer 拾取相同的 Action ,其中一个不应该拾取另一个。这可能是偶然发生的,而且追踪起来非常烦人。通过在它们前面加上应用程序和域名,可以避免这个问题:'appname/admin/CHANGE_USERNAME'不同于 'appname/user/CHANGE_USERNAME' !

  • 这就是我所知道和使用的所有约定,但我相信其他人有更多——你在你的项目中使用并发现了什么有用的?

    关于redux - redux js中事件的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740580/

    相关文章:

    javascript - 如何将 'withRedux' 包装器与 'compose' 结合起来

    javascript - 我需要使用 Redux 还是 Context API

    测试 createAsyncThunk Redux Toolkit Jest

    javascript - Redux 中间件设计 re : return values

    javascript - 删除 mapStateToProps 中的属性

    reactjs - typescript 中的 React-Redux 连接问题

    javascript - 需要有关 redux 和服务器端更新的建议

    javascript - redux reducer 在过滤状态时返回空数组

    node.js - Socket.emit 不发送或 socket.on 不接收?

    javascript - 将 div 放在 StickyContainer 组件之间以使其具有粘性