0
すべてのリソース(画像、動画など)がいつ読み込まれたかを知る方法を見つけるのが難しいです。 window.onload
を使用して最初のページで簡単に実行できますが、クライアント側のルータ経由でルートを変更すると、load
イベントは発生しません。私は特に反応ルータを使用しています。クライアント側ルータのwindow.onloadのバージョン?
もっと良い解決策はありますか?
すべてのリソース(画像、動画など)がいつ読み込まれたかを知る方法を見つけるのが難しいです。 window.onload
を使用して最初のページで簡単に実行できますが、クライアント側のルータ経由でルートを変更すると、load
イベントは発生しません。私は特に反応ルータを使用しています。クライアント側ルータのwindow.onloadのバージョン?
もっと良い解決策はありますか?
動的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)
は、次に親コンポーネントとしてラップ