【发布时间】:2017-07-02 21:18:06
【问题描述】:
我有一个这样的组件:
// @flow
import React from 'react';
type Props = {
level: number,
className: string,
children: any,
rest: any
};
export const Heading = ({
level = 1,
className,
children,
...rest
}: Props): React$Element<any> => {
const Tag = `h${level}`;
return (
<Tag className={className} {...rest}>
{children}
</Tag>
);
};
Heading.displayName = 'Heading';
如果我将无效类型传递给 level 属性,则不会出现错误消息:
例如
<Heading level="3333">Labels</Heading>
运行yarn flow 返回:
没有错误!
但是如果我删除 value 的默认值,
export const Heading = ({
level,
我明白了:
17: 常量标签 = h${level};
^^^^^ undefined. This type cannot be coerced to const Tag =
`h${level}`; ^^^^^^^^^^^ string
这不是我所期望的。
【问题讨论】:
-
该错误消息中的降价标记有问题。我猜这是复制和粘贴错误?
-
你检查我的答案了吗?