我不明白 TypeScript Drawer 组件缺少什么

Am not understanding what is missing for TypeScript Drawer component

我是 TypeScript 的新手,在继续构建应用程序的过程中一直在努力学习。

我在 VSCode 中看到的错误是:

Type '{ state: DrawerNavigationState<ParamListBase>; navigation: DrawerNavigationHelpers; descriptors: DrawerDescriptorMap; }' has no properties in common with type 'IntrinsicAttributes'.ts(2559)

此错误出现于 CustomDrawerContent

我的代码目前实现的方式是:

const Drawer = createDrawerNavigator<RootDrawerParamList>();

const CustomDrawerContent = () => {
  return (
    <SafeAreaView>
      <Text>Hellow</Text>
    </SafeAreaView>
  );
};

const DrawerNavigation = () => {
  return (
    <Drawer.Navigator
      drawerContent={(props) => <CustomDrawerContent {...props} />}
    >
      <Drawer.Screen name="RootDrawer" component={LandingStackNavigation} />
    </Drawer.Navigator>
  );
};

export default DrawerNavigation;

我为此创建的类型是 RootDrawerParamList。即:

export type RootDrawerParamList = {
  RootDrawer: DrawerScreenProps<LandingStackParamList>;
};

关于这个我错过了什么?感谢您帮助我理解应该如何处理此类错误

您使用的 react-navigation 是哪个版本。

我使用的版本中的类型定义是:

export function createDrawerNavigator(
  routeConfigMap: NavigationRouteConfigMap,
  drawerConfig?: DrawerNavigatorConfig
): NavigationContainer;

您正在将 {...props} 传递给 CustomDrawerContent,但它不接受您代码中的任何属性 (const CustomDrawerContent = () => {)。

The type I created for this was RootDrawerParamList. Which is:

这无关紧要,但也不正确。您需要为屏幕接受的任何参数指定类型,但是您已经为屏幕的道具指定了类型。参数和道具不是一回事。