Javascript 客户端路由器';Windows.onload的s版本?

Javascript 客户端路由器';Windows.onload的s版本?,javascript,angular,reactjs,dom,react-router,Javascript,Angular,Reactjs,Dom,React Router,我很难找到方法来判断每个资源(如图像、视频等)何时已加载。我可以通过使用window.onload在第一页轻松完成,但是当通过客户端路由器更改路由时,load事件似乎不会触发。如果有帮助的话,我特别使用react路由器 有更好的解决方案吗?要动态更改窗口,请执行以下操作: import React, { Component } from 'react'; import {withRouter} from 'react-router'; class YourComponent extends C

我很难找到方法来判断每个资源(如图像、视频等)何时已加载。我可以通过使用
window.onload
在第一页轻松完成,但是当通过客户端路由器更改路由时,
load
事件似乎不会触发。如果有帮助的话,我特别使用react路由器


有更好的解决方案吗?

要动态更改
窗口
,请执行以下操作:

import React, { Component } from 'react';
import {withRouter} from 'react-router';

class YourComponent extends Component {

  componentDidUpdate(prevProps) { 
    if (this.props.location !== prevProps.location) { // detect page change
      window.scrollTo(0, 0); // for example // or document.querySelector ... or any js
    }
  }

  render() {
   return this.props.children
  }

}

export default withRouter(YourComponent)
然后将其包装为父组件:

// import react and everything
// import { BrowserRouter as Router } from 'react-router-dom';

// in your render 
<Router> 
  <YourComponent>
    <OtherComponentOrRouting />
  </YourComponent>
<Router>
//导入react和所有内容
//从“react Router dom”导入{BrowserRouter as Router};
//在渲染中