Javascript 如何扩展React本机组件';使用流的道具?

Javascript 如何扩展React本机组件';使用流的道具?,javascript,reactjs,react-native,types,flowtype,Javascript,Reactjs,React Native,Types,Flowtype,我正在React Native(0.48.3)项目中使用Flow(0.54.1)。我创建了一个名为PrimaryButton的组件,它封装了一个本地touchablepacity组件。我想使用一些自定义的道具以及touchablepacity的整套道具来键入组件 如何访问/扩展属于TouchableOpacity的道具?(或任何本机/内置React本机组件) 在下面的示例中,我试图解决如何从可触摸的不透明度填充道具 type Props = PROPS_FROM_TOUCHABLE_OPACIT

我正在React Native(
0.48.3
)项目中使用Flow(
0.54.1
)。我创建了一个名为
PrimaryButton
的组件,它封装了一个本地
touchablepacity
组件。我想使用一些自定义的道具以及
touchablepacity
的整套道具来键入组件

如何访问/扩展属于
TouchableOpacity
的道具?(或任何本机/内置React本机组件)

在下面的示例中,我试图解决如何从可触摸的不透明度填充
道具

type Props = PROPS_FROM_TOUCHABLE_OPACITY & {
    title: string,
};

const PrimaryButton = ({ title, ...rest }: Props) => (
    <TouchableOpacity {...rest}>
        <View>
            <Text>{title}</Text>
        </View>
    </TouchableOpacity>
);
type Props=Props\u FROM\u TOUCHABLE\u OPACITY&{
标题:字符串,
};
常量PrimaryButton=({title,…rest}:Props)=>(
{title}
);

组件为简洁而简化

您可以使用
$PropertyType
获取对象的某些属性的类型。然后,您可以这样定义
道具
类型:

type Props = $PropertyType<TouchableOpacity, 'props'> & {
    title: string,
};
type Props=$PropertyType&{
标题:字符串,
};

您可以使用
$PropertyType
获取对象某些属性的类型。然后,您可以这样定义
道具
类型:

type Props = $PropertyType<TouchableOpacity, 'props'> & {
    title: string,
};
type Props=$PropertyType&{
标题:字符串,
};