我对Flow有一个看似简单的问题。
给出以下对象:
const input: InputObject = {
key1: {
prop1: 'value1',
},
key2: {
prop2: 'value2',
prop3: false,
},
};
const output: OutputObject = {
prop1: 'value1',
prop2: 'value2',
prop3: false,
};
如何基于OutputObject
获取InputObject
的类型?
type OutputObject = ??magic?? InputObject ??magic??;
我想输入一个React HOC组件,该组件将基于配置对象注入一些属性 ,例如:
type Props = {
prop1: string,
prop2: string,
prop3: boolean,
};
class Component extends React.Component<Props> { /* */ }
Hoc({
key1: () => ({
prop1: 'value1',
}),
key2: () => ({
prop2: 'value2',
prop3: false,
}),
})(Component);
我已经知道如何正确键入HOC以使其具有类型安全性,以及如何从传递给HOC的配置对象中获取InputObject
,但我仍然坚持如何“展平” {{ 1}}类型更改为InputObject
类型,这样OutputObject
将会很高兴,因为它将从HOC获取所有必需的属性:)
更重要!我希望以下内容是类型错误:
<Component />
谢谢!