如何实现以下流程
export type Response = {
err: string,
data: ?Array<Object>,
} | {
data: Array<Object>,
};
Run Code Online (Sandbox Code Playgroud)
我想表达一个类型,它返回错误和可选数据或没有错误字段,如果没有.但是,我用它作为
return { err: 'todo' };
^^^^^^^^^^^^^^^ object literal. This type is incompatible with
.... Response
union: object type(s)
Run Code Online (Sandbox Code Playgroud)
Nik*_*ita 25
在Flow中,可选字段和可空值之间存在差异.
{key: ?valueType}表示对象必须包含key,其值必须是null 或者是类型valueType.
{key?: valueType}表示对象可能包含key,如果key存在,则其值必须是类型valueType.
{key?: ?valueType}表示对象可能包含key,如果key存在,则其值必须是null 或者是类型valueType.
您的用例需要#2或#3.我个人建议不要使用#3 - 我发现这种模式比它需要的更灵活.