谁能解释一下下面的代码?
Can anyone explain a little bit about the code below?
所以我目前正在审查用 JS 和 Flow-Type 编写的 React-Redux 代码。我对 Flow-Type 的经验很少,所以下面的代码让我有点困惑。
首先我对 redux 部分进行了一些操作。
export type allActions =
|{|
+type: "FIRST_ACTION_TYPE",
+formType: FormType,
+offset: number,
+size: number
|}
|{|
+type: "SECOND_ACTION_TYPE",
|};
所以我的第一个问题是|{||}|是什么?这个表达式是什么意思?
第二个问题也是针对 FormType
部分的。所以在动作上面有 FormType
的定义。如下图
type FormProps = {
prop_1?: string,
prop_2?: number,
prop_3: number
};
type FormType = RecordOf<FormProps>;
谁能解释一下上面这段代码的作用?
allActions
是一个联合类型,用于类型化 Redux Dispatch。这允许流程在您发送无效操作时抛出错误。
|{|
+type: "FIRST_ACTION_TYPE",
+formType: FormType,
+offset: number,
+size: number
|}
|{|
+type: "SECOND_ACTION_TYPE",
|};
第一个 |
有点令人困惑,但它只是一个可选字符,通常由 lints 在多行联合上添加。它可以被删除并且不会导致错误。
https://flow.org/en/docs/types/unions/
{|...|} 定义一个不能包含任何附加属性的确切对象。它们之间的 |
定义了并集。
https://flow.org/en/docs/types/objects/#toc-exact-object-types
前面的 +
符号将每个 属性 标记为只读。
表单数据中每个 属性 后的 ?
符号将每个标记为可选。
recordOf
是泛型。我认为它可能是自定义的,也可能是旧版本的流程。
https://flow.org/en/docs/types/generics/#toc-parameterized-generics
所以我目前正在审查用 JS 和 Flow-Type 编写的 React-Redux 代码。我对 Flow-Type 的经验很少,所以下面的代码让我有点困惑。
首先我对 redux 部分进行了一些操作。
export type allActions =
|{|
+type: "FIRST_ACTION_TYPE",
+formType: FormType,
+offset: number,
+size: number
|}
|{|
+type: "SECOND_ACTION_TYPE",
|};
所以我的第一个问题是|{||}|是什么?这个表达式是什么意思?
第二个问题也是针对 FormType
部分的。所以在动作上面有 FormType
的定义。如下图
type FormProps = {
prop_1?: string,
prop_2?: number,
prop_3: number
};
type FormType = RecordOf<FormProps>;
谁能解释一下上面这段代码的作用?
allActions
是一个联合类型,用于类型化 Redux Dispatch。这允许流程在您发送无效操作时抛出错误。
|{|
+type: "FIRST_ACTION_TYPE",
+formType: FormType,
+offset: number,
+size: number
|}
|{|
+type: "SECOND_ACTION_TYPE",
|};
第一个 |
有点令人困惑,但它只是一个可选字符,通常由 lints 在多行联合上添加。它可以被删除并且不会导致错误。
https://flow.org/en/docs/types/unions/
{|...|} 定义一个不能包含任何附加属性的确切对象。它们之间的 |
定义了并集。
https://flow.org/en/docs/types/objects/#toc-exact-object-types
前面的 +
符号将每个 属性 标记为只读。
表单数据中每个 属性 后的 ?
符号将每个标记为可选。
recordOf
是泛型。我认为它可能是自定义的,也可能是旧版本的流程。
https://flow.org/en/docs/types/generics/#toc-parameterized-generics