Показать сообщение отдельно
  #1 (permalink)  
Старый 20.09.2018, 13:07
Аспирант
Отправить личное сообщение для smegol Посмотреть профиль Найти все сообщения от smegol
 
Регистрация: 28.05.2015
Сообщений: 40

React Router - re-render компонента при смене url
Добрый день,

Делаю тренировочный проект на React с использованием библиотек React Redux и React Router DOM.

Код для примера такой:

<Switch>
  <Route exact path='/' component={ MovieList }/>
  <Route path='/genre/:genre' component={ MovieList }/>
  <Route path='/login' component={ AuthForm }/>
</Switch>

<Nav>
  // При переходе с URL '/genre/:genre' на '/' re-render не происходит потому что компонент не меняется  у обоих Route - <MovieList />
  <Link to="/"> Список фильмов </Link>
  // При нажатии на ссылку re-render происходит потому что меняется  store при onClick
  <Link to="/genre/:genre" onClick={ this.props.movieGenre.bind(this) }> Список фильмов по жанру </Link>
  // При нажатии на ссылку re-render происходит потому что в "Route" меняется компонент с <MovieList /> на <AuthForm /> 
  <Link to="/login"> Авторизация </Link>
</Nav>


Подскажите пожалуйста может ли React Router делать ререндер одного и того же компонента при смене url?

Пример http://kino.ua-ix.biz/genre/Фентези если нажать на вкладку Список фильмов - компонент <MovieList /> не обновится - останутся фильмы "Фентези"
Ответить с цитированием