【发布时间】:2018-08-05 06:06:06
【问题描述】:
我不确定在哪里报告这个问题或者它是否可以修复,但我认为 Flow 至少应该找到这样一个简单的案例。
const someComponent = (props: Props) =>
const { children, doesntExist } = props; // Flow error here, great.
const anotherOne = pick(['doesntExist'], props); // no error here
// ...
它不应该支持这种情况吗?它是一个错误吗?应该在 ramda 或 flow 的贡献者手中?
【问题讨论】:
-
ramda documentation of
pick表示如果未找到该属性,则将其忽略。也就是说,如果原始对象中不存在键的值,它将是未定义的。由于 API 合约不要求该属性存在,我认为 Flow 不应该引发错误。 -
问题是,如果 prop 不存在,
doesntExist和anotherOne都设置为undefined,流报告第一个但不报告后者。有意义吗?