перенаправление параметров маршрутизатора - PullRequest
0 голосов
/ 18 марта 2019

У меня проблемы с выяснением, как параметризовать строку маршрута для программного перенаправления.

мои настройки в /constants/routes.js

export defaults {
  user_details: '/user/:id/details',
}

Я бы хотел выставить параметр :id программно как

import routes from '../../constants/routes.js'
const UserListItem = ({name, id, history}) => (
  <li onClick={ () => history.push(routes.user_details, {id}) }>
  {name}
  </li>
)

Интернет, кажется, заполнен <Redirect to={/user/${id}/details} />, что не кажется оптимальным, поскольку я хотел бы повторно использовать свой постоянный маршрут

1 Ответ

1 голос
/ 19 марта 2019

зависит от того, как вы используете эти константы маршрута, я думаю.Я не уверен, что вы подразумеваете под «обходом любых правил», но вы можете изменить свои константы на функции.

export defaults {
  userDetails: (id = ":id") => `/user/${id}/details`,
}

использование:

path={routes.userDetails()} -> `/user/:id/details`

history.push(routes.userDetails("abc123")) -> `/user/abc123/details`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...