【问题标题】:Flow type Generic types流类型 通用类型
【发布时间】:2018-10-31 04:16:36
【问题描述】:

我正在尝试制作如下可配置类型:

import * as React from 'react';

type Identity<T: {}> = {
    data: {
        refetch: void => void,
        T: {}
    }
};

({ data }: Identity<{foo: string }>) => <div>{data.foo}</div>;

但我得到了:

Cannot get data.foo because property foo is missing in object type [1].

我是否遗漏了一些明显的东西?这是graphql hoc返回数据的形状。

谢谢

Try Flow

【问题讨论】:

    标签: reactjs flowtype


    【解决方案1】:

    你的意思是:

    type RefetchObj = {
        refetch: void => void,
    }
    type Identity<T: {}> = {
        data: T & RefetchObj
    };
    

    【讨论】:

    • 很遗憾没有。在数据旁边,我将返回更多键。我会更新问题
    • @Adam 这个问题有点不清楚您希望这些类型看起来像什么。你是说refetch 中的refetch 函数属性都在data 中吗?那将是data: T &amp; { refetch: void =&gt; void }
    • @noppa 我刚看到你的评论。你的答案正是我想要的!如果你把它作为答案,我会接受它。谢谢
    • @Adam 我在这里回复是因为 Evert 的答案已经非常接近了,它只是错过了最后的 "next to data I am going to return more keys" 部分。现在答案已被编辑以反映这一点,IMO 你可以接受这个。
    • 很高兴我能帮上忙 :)
    猜你喜欢
    • 2020-01-28
    • 2017-07-23
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多