У меня есть следующие маршруты:Как узнать, какой компонент был создан с помощью React Router?
<Route path="/" component={App}>
<IndexRoute components={Home}/>
<Route path="/blog/:blogNo/:filter" component={Home}/>
<Route path="/blog/:blogNo" component={Home}/>
<Route path="/:filter" component={Home}/>
<Route path="/all" component={Home}/>
<Route path="/terms" component={Terms}/>
<Route path="/privacy" component={Privacy}/>
<Route path="/news/:newsNo" component={News}/>
<Route path="/list/:listNo" component={List}/>
</Route>
Примечание 4 маршрутов дома. В рендеринге моего App.js я хочу выяснить, какой компонент создан, т. Е. «Главная», «Новости», «Условия», «Конфиденциальность» или «Список».
Я пытаюсь использовать this.context.router.isActive("")
, но я не уверен, как передать знак или подстановочный знак, например :filter
или :blogNo
.
Как узнать, какой компонент создан в React Router?
Примечание Я использую реагировать маршрутизатору 2.0.0
вы могли бы просто сделать это.props.children.type.name', что дало бы вам имя компонента – knowbody
@knowbody Я попробовал 'this.props.children.type.displayName', но в процессе производства я обнаружил, что мой код не запускался. Я предполагаю, что может быть оптимизирован в производстве –
, что вы пытаетесь сделать, возможно, есть другой способ – knowbody