#reactjs #routes #react-router #react-router-dom
#reactjs #маршруты #react-маршрутизатор #react-router-dom
Вопрос:
Я пытаюсь отобразить тот же компонент в своем приложении, даже если параметр path не указан:
<Switch>
<Route
path="/productInfoList/:product"
component={ProductInfoList}
/>
</Switch>
Однако, если в URL-адресе нет параметра «:product», компонент не отображается. Есть ли способ отобразить тот же компонент «ProductInfoList», даже если параметр path не указан?
Я чувствую, что должен быть эффективный способ сделать это, чем повторное объявление нового маршрута только для path="/productInfoList"
всех.
Комментарии:
1. похоже, что ваш компонент может работать без /:product pram, поэтому удалите его из path и установите флажок в компоненте, если path pram был передан, и если это так, выполните свою логику
Ответ №1:
привет, вы можете проложить маршрут без pram, а затем просто передать историю.нажать или связать
history.push({
pathname: '/template',
search: '?query=abc',
state: { detail: response.data }
})
<Link to={{
pathname: '/template',
search: '?query=abc',
state: { detail: response.data }
}}> My Link </Link>
как вы можете видеть здесь, вы можете передать состояние, если хотите получить данные, которые вы можете использовать
props.location.state.detail
таким образом, вы можете отслеживать, получаете ли вы состояние или нет, а затем использовать его по своему усмотрению