Существуют проблемы с вашей программой, которые необходимо устранить перед началом проблемы:
Невозможно отобразить содержимое вкладки чуть ниже внутренней навигации домашней страницы, так как путь к ней невозможен.Вы в основном говорите: «Как только я нахожусь в /
домашнем пути, я хочу сопоставить /gaming/:topicId
пути», но это невозможно, потому что единственный способ добраться до вашего домашнего компонента - это exact
только сопоставление /
вваш индекс.Так что вы не можете точно сопоставить /
, а также /gaming/topicId
.
Я бы порекомендовал перенести эти маршруты в ваш файл index.js
:
<Switch>
<Route path={`${match}/:topicId`} render={props => <DesignTab />} />
<Route
path={`${match}/:topicId`}
render={props => <DevelopmentTab />}
/>
</Switch>
Я не понимаюс чем вы хотите, чтобы этот маршрут соответствовал, потому что объект match
не имеет смысла в этом контексте.
Когда вы делаете операторы, подобные render={props => <Home />
, реквизиты не отправляются на ваш домашний компонент.Вы должны указать компоненту, что вы хотите отправить его реквизиты через render={props => <Home {...props} />
.
Также const Home = (props, { match })
не является правильным синтаксисом, и совпадение здесь всегда будет неопределенным.Измените на const Home = (props)
, тогда вы сможете получить доступ к матчу через props.match
.
Надеюсь, мой совет поможет:)