@bdFregat

Можно ли использовать переменные с регулярным выражением в path react-router?

Собственно есть рабочий код:
<Route path='/section/:id(\d+)' component={EditSection} />


И его нерабочие аналоги:
<Route path={'/section/:id(\d+)'} component={EditSection} />

const pathVariable = '/section/:id(\d+)';
<Route path={pathVariable } component={EditSection} />


Путь без регулярки (\d+) отрабатывает в обоих случаях, с регуляркой не работает с фигурными скобками

В чём принципиальная разница между передачей параметра через строку и через фигурные скобки? Почему в одном случае регулярка отрабатывает, в другом нет?
  • Вопрос задан
  • 593 просмотра
Решения вопроса 1
@bdFregat Автор вопроса
В итоге проблема оказалась в том, что фигурные скобки экранируют, в отличие от записи через кавычки. Решение оказалось максимально простым, написать \\d вместо \d.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Dasslier
FrontEnd Developer
Потому что регулярное выражение нужно экранировать, вы его передаете сейчас как просто строку. Попробуйте перейти по id с символами регулярного выражения, у вас должен будет открыться компонент EditSection.

Загляните сюда Регулярные выражения несколько глав - и вы разберетесь со своей проблемой
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы