Реагирование на определение типов реквизитов в блоке навигации - PullRequest
0 голосов
/ 29 марта 2020

Я создаю пользовательский контент ящика, используя это руководство :

const DrawerContent = (props) => (
  <DrawerContentScrollView {...props}>
    <AntDesign
      name="close"
      size={32}
      onPress={() => props.navigation.closeDrawer()}
    />
    <Text>TEST</Text>
    <DrawerItemList {...props} />
  </DrawerContentScrollView>
);

Это работает хорошо, но я хотел бы проверить тип по параметру props. Поэтому я попытался:

import { DrawerContentComponentProps } from '@react-navigation/drawer';

const DrawerContent = (props: DrawerContentComponentProps) => (
  // Same stuff
);

Но моя IDE теперь сообщает мне, что props.navigation.closeDrawer не существует, но существует.

Как правильно определить тип props функции DrawerContent?

1 Ответ

0 голосов
/ 15 апреля 2020

Это известная проблема библиотеки реагирующей навигации: https://github.com/react-navigation/react-navigation/issues/6790

Чтобы предупреждение исчезло в ожидании исправления, вы можете использовать эту запись:

import { DrawerActions } from '@react-navigation/native';


<AntDesign
  name="close"
  size={32}
  // @see https://github.com/react-navigation/react-navigation/issues/6790
  onPress={() => navigation.dispatch(DrawerActions.closeDrawer())}
/>
...