假设我有这些TS定义:
export type SearchStackParamList = {
SearchScreen: undefined;
Restaurant: undefined;
};
export type SearchScreenProps = CompositeScreenProps<
NativeStackScreenProps<SearchStackParamList, 'SearchScreen'>,
CompositeScreenProps<
NativeStackScreenProps<SearchStackParamList>,
NativeStackScreenProps<RootStackParamList>
>
>;
export type RestaurantScreenProps = CompositeScreenProps<
NativeStackScreenProps<SearchStackParamList, 'Restaurant'>,
CompositeScreenProps<
NativeStackScreenProps<SearchStackParamList>,
NativeStackScreenProps<RootStackParamList>
>
>;
看看SearchScreenProps
和RestaurantScreenProps
是如何有点冗余的?有没有什么方法可以改进它,使它不那么冗长?也许通过某种“扩展”函数?
1条答案
按热度按时间e0bqpujr1#
创建一个 Package 器类型,该类型将字符串类型作为泛型,并给出大而复杂的
CompositeScreenProps
作为交换。如果
extends string
太宽,可以使用'SearchScreen' | 'Restaurant'
或任何合适的值。