Задать вопрос
@raft88

Как передать props в React-router?

Привет!

<Route
  component={() => logged ? <Product /> : <Redirect to='/' />}
  exact
  path='/products/:id'
/>


при такой записи в компоненте Product в props теряются данные, в итоге нет match, где можно взять id продукта. Как переписать Route, чтобы не потерять props?

при такой записи работает корректно, но нет проверки на то, что пользователь залогинен
<Route
  component={Product}
  exact
  path='/products/:id'
/>
  • Вопрос задан
  • 6050 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
eternalSt
@eternalSt
Доброго времени суток!

У компонента Route есть параметр render.

<Route
  render = { props => logged ? <Product /> : <Redirect to='/' /> }
  exact
  path='/products/:id'
/>


И важно, в доках об этом конечно сказанно, но я повторюсь.
component имеет приоритет над render, так что использовать их вместе не стоит.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽