flux-standard-action, 一种用于通量动作对象的友好

分享于 

5分钟阅读

GitHub

  繁體 雙語
A human-friendly standard for Flux action objects.
  • 源代码名称:flux-standard-action
  • 源代码网址:http://www.github.com/redux-utilities/flux-standard-action
  • flux-standard-action源代码文档
  • flux-standard-action源代码下载
  • Git URL:
    git://www.github.com/redux-utilities/flux-standard-action.git
    Git Clone代码到本地:
    git clone http://www.github.com/redux-utilities/flux-standard-action
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/redux-utilities/flux-standard-action
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    标准操作

    build statusnpm version

    简介

    一种用于通量动作对象的友好。 反馈欢迎。

    动机

    如果我们对它们的形状做出一些假设,那么使用通量操作就更容易了。 例如所有的通量操作都有一个标识符字段,例如 typeactionType 或者 actionId。 许多流量实现还包括一种方法来指示成功或者失败,特别是数据获取操作的结果。 为这些模式定义最小的通用标准,可以创建有用的工具和抽象。

    作为第一个类概念的错误

    可以把通量操作看作是一个异步的值序列。 异步序列处理错误是很重要的。 目前,许多流量实现并不这么做,而是定义了像 LOAD_SUCCESSLOAD_FAILURE 这样的单独操作类型。 这不太理想,因为它重载了两个单独的关注点: 从"全局"操作序列消除某种类型的操作,并指示操作是否表示错误。 FSA将错误视为第一个类概念。

    的设计目标

    • 人类友好。FSA操作应该易于阅读和写入。
    • 有用的操作应该能够创建有用的工具和抽象。
    • 简单。直观。灵活的设计在它的设计中应该简单。直观。

    示例

    基本流量标准操作:

    {
     type:'ADD_TODO',
     payload: {
     text:'Do something.' 
     }
    }

    表示错误的FSA,类似于被拒绝的承诺:

    {
     type:'ADD_TODO',
     payload:newError(),
     error:true}

    操作

    行动必须

    • 成为纯JavaScript对象。
    • 具有 type 属性。

    一个动作可能

    • 具有 error 属性。
    • 具有 payload 属性。
    • 具有 meta 属性。

    操作不能包括 typepayloaderrormeta 以外的属性。

    type

    操作的type 向使用者标识已经发生的操作的性质。 type 是字符串常量。 如果两种类型相同,则它们必须严格等价于( 使用 === )。

    payload

    可选的payload 属性可以是任何类型的值。 它表示操作的有效负载。 有关不是 type 或者操作状态的操作的任何信息都应该是 payload 字段的一部分。

    按照约定,如果 errortrue,则 payload 应该是错误对象。 这类似于拒绝带有错误对象的promise。

    error

    如果操作表示错误,则可选 error 属性可以设置为 true

    error 为 true的操作类似于被拒绝的承诺。 按照约定,payload 应该是错误对象。

    如果 error 除了 true 之外还有其他值,包括 undefinednull,则该操作不能被解释为错误。

    meta

    可选的meta 属性可以是任何类型的值。 它适用于不属于负载的任何额外信息。

    命令行实用程序功能

    MODULE flux-standard-action 在npm上可用。 它导出了几个实用函数。

    isFSA(action)

    import { isFSA } from'flux-standard-action';

    如果 action 符合 true 标准,则返回。

    isError(action)

    import { isError } from'flux-standard-action';

    如果 action 表示错误,则返回 true。

    • 操作 - 一组帮助器,用于在Redux中创建和处理FSA操作。
    • Redux promise - Redux承诺支持FSA操作的中间件。
    • Redux rx RxJS,包含支持FSA操作的中间件。

    STA  对象  act  STAN  友元  standard  
    相关文章