@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'
/>
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 1
eternalSt
@eternalSt
Доброго времени суток!

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

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


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

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

Войти через TM ID
Похожие вопросы
YLab Тольятти
от 70 000 до 130 000 руб.
ЭЛКОД Москва
от 120 000 руб.
Leningrad Media Санкт-Петербург
от 60 000 руб.
19 авг. 2018, в 00:49
600 руб./в час
18 авг. 2018, в 17:54
6000 руб./за проект
18 авг. 2018, в 16:00
60000 руб./за проект