Переменные React-Router Link не преобразованы в значения - PullRequest
0 голосов
/ 01 января 2019

Я использую компонент React-Link Link, передавая переменную, используя /customers/${id}.Ссылка переходит к нужному компоненту, но вместо перевода $ {id} к его значению она передает его в виде текста, подобного следующему: '/customers/$%7Bid%7D'.

Я использую React-роутер 4.3.1

Я изучаю React и создаю простое веб-приложение с основными / подробными данными.Я успешно получил данные из моего API и отобразил их в виде списка.Я хочу иметь возможность нажимать на элементы в списке и переходить к компоненту сведений, передавая уникальный идентификатор в качестве параметра.

Я перепробовал все что угодно, но в принципе я не могу заставить ${} работать, что бы я ни пытался.Я пытался Google эту проблему, но не нашел никого с подобной проблемой.Я прочитал ряд статей о том, как настроить маршрутизацию с использованиемact-router v4, и следую им, но сталкиваюсь с этой проблемой.

Если я пытаюсь передать ссылку вручную, маршрут работает нормально, и он перемещаетсяправильно к компоненту details, который отображает конкретного клиента.

<Link to={'/customers/${this.props.item.Id}'}>{this.props.item.Name}</Link>

Маршрут выглядит следующим образом:

<Route path='/customers/:Id' component={CustomerDetails} />

Я ожидаю, что Ссылка сгенерирует следующий URL: /customers/3, нофактический результат - /customers/%7Bthis.props.item.Id%7D Имя переменной написано правильно.

1 Ответ

0 голосов
/ 01 января 2019

Вы должны использовать обратные галочки для шаблонов строк.

Вместо:

'/customers/${this.props.item.Id}'

используйте это:

`/customers/${this.props.item.Id}`

Подробнее о литералах шаблонов здесь:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...