我在我的React Native(0.54.1
)项目中使用Flow(0.48.3
)。我创建了一个名为PrimaryButton
的组件,它包装了一个原生的TouchableOpacity
组件。我想使用一些自定义道具以及TouchableOpacity
的整套道具来键入组件。
如何访问/扩展属于TouchableOpacity
的道具? (或任何本机/内置的React Native组件)
在以下示例中,我尝试了解如何填充PROPS_FROM_TOUCHABLE_OPACITY
。
type Props = PROPS_FROM_TOUCHABLE_OPACITY & {
title: string,
};
const PrimaryButton = ({ title, ...rest }: Props) => (
<TouchableOpacity {...rest}>
<View>
<Text>{title}</Text>
</View>
</TouchableOpacity>
);
为简洁起见,简化了组件
答案 0 :(得分:0)
您可以使用$PropertyType
来获取对象的某些属性的类型。然后,您可以像这样定义Props
类型:
type Props = $PropertyType<TouchableOpacity, 'props'> & {
title: string,
};