【问题标题】:Is it possible to disable a certain type of error with Flow?是否可以使用 Flow 禁用某种类型的错误?
【发布时间】:2020-12-20 03:52:28
【问题描述】:

最近,我更改了我的组件的所有函数声明:

function LoginButton(props) {
    const {style, iconStyle, type, onPress} = props;
}

到这里:

function LoginButton({style, iconStyle, type, onPress}) {
}

之前,我没有从 Flow 中收到任何错误。现在,所有这些都给我Missing type annotation for destructuring. Flow(InferError)

由于有很多这样的声明,我不想在所有这些声明前加上// $FlowFixMe,因为它看起来很乱。我知道我可以在解构表达式的末尾添加: any 来修复所有这些问题,但这看起来也很混乱。我希望从.flowconfig 文件中为我的项目禁用所有此类流错误;有没有办法做到这一点?

【问题讨论】:

  • 如果您从文件的最顶部删除// @flow,流程将忽略它

标签: javascript reactjs react-native flowtype


【解决方案1】:

简短的回答是否定的,没有办法在大范围内忽略特定错误。这样做是非常不合理的,尤其是在这种情况下。

我理解您的沮丧,但要记住一件事是$FlowFixMe 应该看起来很乱,因为它很乱。 $FlowFixMe 应该几乎总是一个临时解决方案,因为目标应该始终是修复底层类型问题(因此 $FlowFixMe 的“FixMe”部分)。

任何$FlowFixMe 都会引入不健全性,它基本上会关闭类型系统,并且对开发人员隐藏它几乎总是一个坏主意。如果您想继续使用强类型代码,并且想要由此提供的安全性,那么您将需要开始显式键入您的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 2020-03-23
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多