VDS за 300р от нашего партнера SpaceWeb
[3]
10 Июл 2019, 19:59

Программная навигация с использованием React Router

react-router можно использовать элемент Link , чтобы создавать ссылки которые нативно  поддерживаются react router.

Внутри это вызывает  this.context.transitionTo(...).

Я хочу сделать навигацию, но не по ссылке, а из выпадающего списка, например. Как это будет выглядеть в коде? И что такое this.context?

Есть такойNavigation mixin, но хотелось бы обойтись без миксинов.

Комментарии (1)
jaga 24.07.2019 15:18

Вообще есть три подхода к программной маршрутизации внутри компонентов - с использованием high-order компонента withRouter, с компонентом <Route> и с использованием контекста.

Рассмотрим первый вариант:
withRouter будет инжектировать объект history как prop компонента. Это позволяет  получить доступ к методам push и replace без необходимости иметь дело с контекстом

import { withRouter } from 'react-router-dom'
// this also works with react-router-native
const Button = withRouter(({ history }) => (
  <button
    type='button'
    onClick={() => { history.push('/new-location') }}
  >
    Click Me!
  </button>
))

 

Остальные варианты на мой взгляд менее интересны, можешь ознакомиться с ними например здесь

 

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки:
Лучшее
[4]
10 Окт 2018, 15:33
Как запретить просмотр сайта по IP?
[просмотров 6218]
[119]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 4186]
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 3979]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 3704]
[315]
16 Июл 2011, 20:03
Python работа с MySQL
[просмотров 3366]
[58]
29 мая 2012, 12:08
Узнать версию PHP из командной строки
[просмотров 3261]
[1]
13 Фев 2019, 14:23
Как получить значение CSS в javascript
[просмотров 3231]
[100]
19 Дек 2014, 16:16
User-agent для Internet Explorer 11
[просмотров 3052]

Вести с Хабра