Задать вопрос
@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+) отрабатывает в обоих случаях, с регуляркой не работает с фигурными скобками

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

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

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

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽