【发布时间】:2022-08-24 20:59:25
【问题描述】:
React Navigation documents 如何键入您的导航器,但定义似乎无法跨文件拆分,随着项目变得越来越大,这变得很有必要。
它们似乎难以拆分的原因是父导航器的类型指的是子导航器,反之亦然。从上面的文档中:
export type RootStackParamList = {
Home: NavigatorScreenParams<HomeTabParamList>;
PostDetails: { id: string };
NotFound: undefined;
};
export type RootStackScreenProps<T extends keyof RootStackParamList> =
StackScreenProps<RootStackParamList, T>;
export type HomeTabParamList = {
Popular: undefined;
Latest: undefined;
};
export type HomeTabScreenProps<T extends keyof HomeTabParamList> =
CompositeScreenProps<
BottomTabScreenProps<HomeTabParamList, T>,
RootStackScreenProps<keyof RootStackParamList>
>;
注意HomeTabScreenProps 如何引用RootStackParamList 以及RootStackParamList 如何引用HomeTabParamList。
如何跨文件组织这些类型定义?
(也许可以将HomeTabParamList 移动到它自己的文件中,但HomeTabScreenProps 在不创建导入周期的情况下似乎无法移动。)
标签: typescript react-navigation