Повторно использовать компонент, загруженный из маршрута - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь написать компонент React + Redux (с машинописью), который будет загружен с маршрута:

<Route exact path="/a-path-to-my-page" component={MyComponent} />

Однако я хотел бы загрузить тот же компонент внутри компонента Dialog, моя проблема в том, что мне нужно определить тип, расширяющий RouteComponentProps, чтобы иметь доступ к истории, местоположению и другим реквизитам при загрузке с маршрута, но я не нужны все эти реквизиты при загрузке компонента из диалога, есть ли способ определить какой-то условный тип, такой как:

type MyComponentPropsRouter = RouteComponentProps.RouteComponentProps &
  MyComponentPropsFromStateType &
  MyComponentPropsFromDispatchType;

type MyComponentPropsNoRouter = MyComponentPropsFromStateType & MyComponentPropsFromDispatchType;

type MyComponentAllProps = MyComponentPropsRouter "or" MyComponentPropsNoRouter  //Is this possible?

Заранее спасибо!

Я попробовал с XOR, как предложено здесь , но это не то, что я ищу ...

1 Ответ

0 голосов
/ 15 июня 2019

Я решил это, создав собственный интерфейс с требуемыми атрибутами из RouteComponentProps и оставив остальные как условные, следующим образом:

interface MyComponentProps {
   history: History<any>;
   location?: Location<any>
   match?: match<{}> 
}

type MyComponentAllProps = MyComponentProps & MyComponentPropsFromState & MyComponentPropsFromDispatch;

Это единственный способ?

Еще раз спасибо!

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