Получить параметры пути в response-router v4

Я пытаюсь построить канал маршрутизатора через мое приложение,

В этом случае у меня есть три файла.

App.js

Book.js

DetailedView.js

У меня внутри книги создана которая появляется только при зависании (над обложкой книги)

 {this.state.isHovered ? (  
) : (
)}

Это приведет меня к / детали / 12345 (номер isbn10)

То, что мне трудно понять, – это, например, setState({iPressedThisBook}) при нажатии или если я смогу использовать часть после /12345 для создания как фильтра

Потому что в App Route будет подключен как …

  (  )}/> 

Я, позже, хочу захватить :id чтобы я сделал, например, this.props.book.find(:id) внутри моего

Чтобы получить параметр path в вашем компоненте, вам нужно сначала подключить свой компонент с помощью withRouter HOC от react-router чтобы вы могли получить доступ к реквизитам маршрутизатора и получить параметры пути из реквизита соответствия, как this.props.match.params.id

Образец кода:

 import {withRouter} from 'react-router'; class BookDetailedView extends React.Component { render() { var id = this.props.match.params.id } } export default withRouter(BookDetailedView) ; 

или просто передать его с помощью рендеринга в маршруте, как

  (  )}/> 

Из Реагирующей документации match

совпадение

Объект соответствия содержит информацию о том, как соответствует URL. объекты соответствия содержат следующие свойства:

  • params – (object) Пара ключей / значений, проанализированных по URL-адресу, соответствующему динамическим сегментам пути
  • isExact – (boolean) true, если весь URL-адрес был сопоставлен (без конечных символов)
  • path – (string) Путь к шаблону, используемый для сопоставления. Полезно для построения вложенных
  • url – (строка) Соответствующая часть URL-адреса. Полезно для построения вложенных

У вас будут объекты сопоставления доступа в разных местах:

  1. Компонент маршрута как this.props.match
  2. Перенос маршрута как ({match}) => ()
  3. Маршрут детей как ({match}) => ()
  4. withRouter как this.props.match
  5. matchPath как возвращаемое значение

Если маршрут не имеет пути и поэтому всегда совпадает с ним, вы получите самое близкое родительское совпадение. То же самое происходит с Router

Вы можете получить доступ: id, выполнив this.props.params.id

вы можете обрабатывать маршрутизацию многими способами, вам не нужно делать то, что вы также можете обрабатывать в функции.

 function doSomethingWhenClicked(id) { doSomething(); this.props.history.push({ pathname: '/example/'+id }); } 
  • Получить имя объекта или classа
  • Инициализировать компонент инициализации компонента из реквизита
  • Транспортир Угловой 2 Ошибка: неизвестная ошибка: угловая не определена
  • Синтаксическая ошибка в IE с использованием функций ES6 arrow
  • Как проверить, открыт ли порт в сети клиента / брандмауэре?
  • Как я могу вернуть строку JavaScript из функции WebAssembly
  • использование внешних JS-библиотек в моем проекте с угловым 2
  • Как трубы и монады работают вместе в JavaScript?
  • Опубликовать x-www-form-urlencoded запрос от React Native
  • Вложенные массивы в угловых 2 реактивных формах?
  • Как отключить определенное предупреждение JavaScript
  • Давайте будем гением компьютера.