Typescript не понимает, что реквизиты обеспечиваются реагирующей навигацией с Navigation HOC. - PullRequest
0 голосов
/ 05 ноября 2018

У меня проблема с

"react-navigation": "2.18.2", "@types/react-navigation": "2.13.0", "typescript": "3.1.6",

Я пытаюсь использовать withNavigation HOC в дочернем компоненте, но это заставляет родительский компонент сказать, что не все необходимые реквизиты переданы. * 1007 Т.е. *

У родителей:

render() {
  return (
    <Child
      someProp={true}
    />
  );
}

у ребенка:

export interface IChildProps {
  someProp: boolean
}

class Child extends React.Component<IChildProps & NavigationInjectedProps> {
  render() {
    return (<Text>Child component </Text>)
  }
}

export default withNavigation(Child)

Я получаю эту ошибку в родительском: Property 'navigation' is missing in type ..., означающий, что родитель не может понять, что navigation передается ребенку через withNavigation HOC по какой-то причине?

Конечно, я могу передать navigation реквизит от родителя, но это делает withNavigation бесполезным, и просто поднимает проблему вверх по цепочке предков: smiley:

Я просмотрел определения типов и не могу найти никаких ошибок с ним. Может кто-нибудь здесь, возможно, помочь мне разобраться в чем проблема?

1 Ответ

0 голосов
/ 11 ноября 2018

Я могу воспроизвести проблему, если включить опцию компилятора strictFunctionTypes. Объявление withNavigation в пакете @types/react-navigation не предназначено для работы с этой опцией. Я отправил запрос , чтобы исправить это. См. этот ответ о возможных способах использования моих измененных объявлений до объединения запроса на извлечение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...