【问题标题】:Can you split React Navigation TypeScript definitions across files?你可以跨文件拆分 React Navigation TypeScript 定义吗?
【发布时间】: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


    【解决方案1】:

    您必须创建一个导入周期。

    但相反,我认为您应该按照文档中的描述来组织结构

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2018-10-24
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      相关资源
      最近更新 更多