React router v4 - Как получить текущий компонент в реагирует маршрутизатор - PullRequest
1 голос
/ 23 сентября 2019

Есть ли способ в реагирующем маршрутизаторе получить текущий компонент на коммутаторе?

const routes = {Home, ...}

<Layout>
  <Switch>
    {routes.map(r => <Route path={r.path} component={r.Component} />)} // I want to get this Component
  </Switch>
</Layout>

function Layout(props) {
   // I want to get the current component here
   return props.children
}

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

Используйте props.match, чтобы получить текущий активный маршрут.React-маршрутизатор обеспечивает это.

Многие статьи объясняют, как его использовать, вот одна из них: https://jaketrent.com/post/access-route-params-react-router-v4/

0 голосов
/ 24 сентября 2019

Вы можете различить тип элемента по API React.Children

Но я рекомендую использовать Context API.Context API создан для таких вещей.

Context API: Context provides a way to pass data through the component tree without having to pass props down manually at every level.

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