У меня есть приложение React + Django, которое представляет собой пользовательский видеоплеер, и в настоящее время я работаю над соответствующим видео / очередью в конце видео.У меня это работает, если я использую простой window.location.replace
со ссылкой на следующее видео.Тем не менее, было бы намного проще, только перезагрузить видео плеер.
Из множества потоков, которые я читал на SO, кажется, что это возможно для перенаправления моего "основного" компонента в дочерний компонент в React, но ни один из методов не сработал для меняи у меня немного другой случай, чем все, что я прочитал.Если воспроизведение видео зависит от моего URL-адреса (или маршрута), возможно ли его перезагрузить без повторной визуализации всей страницы?
Ниже приведена базовая версия соответствующего кода:
Index.js:
class Welcome extends React.Component {
render() {
return (
<BrowserRouter>
<App/>
</BrowserRouter>
)
}
}
const element = <Welcome/>;
ReactDOM.render(
element,
document.getElementById('container')
);
App.js:
class App extends React.Component {
render() {
return (
<Row id="app-container" className="h-100 justify-content-center align-items-center">
<Switch>
<Route path='/app/:number' component={Player}/>
</Switch>
</Row>
)
}
}
export default App
Queue.js, Примечание: этоочевидно, это та часть, с которой у меня проблемы.У меня есть кликабельные imgs для выполнения метода window.location.replace
.
<div>
<Link to='app/1' replace>
Previous Video
</Link>
<div>
Link
на самом деле меняет URL-адрес так, как я хочу, но не перезагружает приложение.Я потратил много времени, пытаясь реализовать решения этой проблемы из других сообщений SO, но я беспокоюсь, что, как только я его получу, это все равно заставит перезагрузить всю страницу.Может кто-нибудь сказать мне, если это возможно, просто перенаправить мое приложение?Это нормально, если URL-адрес не меняется, если приложение основано на новом маршруте.
Заранее спасибо