2017-06-04 9 views
0

すべてのリソース(画像、動画など)がいつ読み込まれたかを知る方法を見つけるのが難しいです。 window.onloadを使用して最初のページで簡単に実行できますが、クライアント側のルータ経由でルートを変更すると、loadイベントは発生しません。私は特に反応ルータを使用しています。クライアント側ルータのwindow.onloadのバージョン?

もっと良い解決策はありますか?

答えて

0

動的windowを変更するには、次の操作を行います。

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

// in your render 
<Router> 
    <YourComponent> 
    <OtherComponentOrRouting /> 
    </YourComponent> 
<Router> 

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) 

は、次に親コンポーネントとしてラップ

関連する問題