簡體   English   中英

如何使用Flow擴展React Native組件的props?

[英]How can I extend a React Native component's props using Flow?

我在React Native( 0.48.3 )項目上使用Flow( 0.54.1 )。 我創建了一個名為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>
);

為簡化起見簡化組件

您可以使用$PropertyType獲取對象的某些屬性的類型。 然后,您可以像這樣定義Props類型:

type Props = $PropertyType<TouchableOpacity, 'props'> & {
    title: string,
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM