@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'
/>
  • Вопрос задан
  • 6031 просмотр
Решения вопроса 1
eternalSt
@eternalSt
Доброго времени суток!

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

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


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

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

Похожие вопросы
25 нояб. 2024, в 21:54
20000 руб./за проект
25 нояб. 2024, в 21:39
3000 руб./за проект
25 нояб. 2024, в 21:34
7000 руб./за проект