【问题标题】:How to flow type annotate a default object export?如何流式注释默认对象导出?
【发布时间】:2017-05-31 02:23:48
【问题描述】:

考虑:

/* @flow */
export default {test: true};

如何最好地流式输入?

我找到的唯一方法是:

/* @flow */
const data : {test: boolean} = {test: true};
export default data;

没有 const 定义就没有办法做到这一点吗?

背景:虽然流可以推断对象的定义,但在我的情况下,它是一个 200kb 的大对象,其中包含由构建工具写入文件的数据集。所以我想添加一个流类型来帮助开发人员提高可读性,并且对象没有所有的键,具体取决于底层数据集的内容,所以流类型仍然会记录那些可选的键。

【问题讨论】:

  • Flow 应该能够在没有定义本身的情况下检索类型信息。数据变量的赋值应该足够了。因此,您可以编写以下代码: export default { test: true };但是我没有尝试过剪断这段代码,因为我在手机上:p
  • 感谢@JanPeter - 我编辑了我的案例中的数据很大且不可读的问题。想要将流程用作一种自动文档。
  • 啊,好吧,如果您不想使用 const ,可以使用演员表。像这样:export default ({ test: true }: {test:boolean});。我认为这是最短的写法。
  • 啊宾果游戏@JanPeter - 如此简单。这就是我的答案!
  • 我应该添加这个作为答案吗?所以搜索这个问题的人也不需要看cmets?因为无论如何谁会读 cmets? :P

标签: flowtype es6-modules


【解决方案1】:

向您的问题添加类型定义的最短方法是流式转换,如下所示:

export default ({ test: true }: {test: boolean});

【讨论】:

    猜你喜欢
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 2019-02-13
    • 2016-11-03
    • 2019-04-03
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多