Почему реквизиты не передаются дочернему компоненту Route React? - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь создать SPA с ReactJS, и у меня проблема с получением параметров URL. Можете ли вы объяснить мне, что разница между двумя методами ниже.

<Route exact path="/blog/:slug.:id" component={BlogDetail}/>
-------------------------------------------------------
<Route exact path="/blog/:slug.:id">
 <BlogDetail/>
</Route>

С помощью первого метода я могу получить slug и id из реквизита в BlogDetail Component . Но второй нет. Почему? Пожалуйста, помогите мне: D Извините за мой английский sh, если это не хорошо.

1 Ответ

0 голосов
/ 22 февраля 2020

Route s component - это рендер проп . Наличие реквизита рендеринга гарантирует, что props передается в отрендеренный компонент, как в первом методе. Это, однако, заключено в компоненте Route.

Второй способ, однако, BlogDetail является дочерним по отношению к Route. Чтобы иметь возможность использовать реквизиты маршрута, его следует явно передать дочернему компоненту.

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