Flowtype:字符串类型与字符串枚举不兼容

时间:2017-08-14 12:17:52

标签: javascript flowtype

为什么流量不允许这样:

/* @flow */

const f1 = (p1: {[string]: string}) =>  undefined;
const f2 = (p2: {status: 'ok' | 'not_ok' }) =>  f1(p2);

Flowtype repl

有没有办法让这项工作?

1 个答案:

答案 0 :(得分:0)

问题是,f1可能会使status道具发生变异。因此需要不变性。

solution

/* @flow */

const f1 = (p1: {+[string]: string}) =>  undefined;
const f2 = (p2: {status: 'ok' | 'not_ok' }) =>  f1(p2);