具有此流程的代码
export default (resource: string, init?: Object = {}) =>
我正在关注警告
警告意外使用弱类型“对象”流类型/无弱类型
事情是init
参数正是本机的'获取第二个参数(参见MDN),它是可选的,并且它是一个可能具有10多个复杂属性的对象,因此我不想指定其类型而不是通用的“对象”或“任何”。
在我的情况下,避免此警告的正确方法是什么?
您看到的警告来自ESLint,特别是eslint-plugin-flowtype插件,而不是Flow本身。
但是,警告您有效的东西。 Object
在Flow中是不安全的类型。它等效于any
(它曾经有一些细微的差别,但现在不再如此)。总的来说,可能值得用以下方式显式地阐明属性,即使它们很复杂:
type Init = {
someProp: string,
someOtherProp: number;
}
export default (resource: string, init?: Init = {}) => {}
(try)
如果您确定要接受Object
或any
的不安全行为,则可以将该行设为turn off the ESLint rule。