下面是一个用于显示错误消息的简单组件:
// @flow
import styles from 'styles/components/Error';
import React from 'react';
import CSSModules from 'react-css-modules';
type Props = {
message: string
}
const Error = ({ message }: Props) => {
return (
<div styleName="error">
{message}
</div>
);
};
export default CSSModules(Error, styles);
请注意,它需要message
属性。现在,如果我在某处使用此组件:
<Error />;
Flowtype 应该警告我Error
缺少必需的属性message
,但事实并非如此。如果我不Error
使用 react-css-modules 包装我的组件,Flowtype 会按预期工作。
我在想我需要为 Flowtype 声明一个类型才能理解包装的组件,但我的 Google-fu 没有产生任何结果。
我所做的发现: