【发布时间】:2018-03-11 20:31:04
【问题描述】:
我得到了这个定义:
export type Entry = {|
id: string,
title: string,
|};
...
export type Props = {
entries: Array<Entry>,
...
// The following is not crashing
const rowGetter = ({ index }): Entry => props.entries[index] || {};
使用flow-bin@0.67.1,上面的代码不会崩溃。我预计它会崩溃,因为定义指出返回值是Entry 类型,而不是空对象。
当然,如果我如下更改箭头函数的定义,它会按预期崩溃,说不精确的文字不匹配,并且缺少属性 Id 和 title:
const rowGetter = ({ index }): Entry => ({});
这是一个错误,还是我在这里遗漏了什么?
【问题讨论】: