0
我很難找到方法來告訴每個資源(例如圖像,視頻等)何時加載。我可以通過使用window.onload
在第一頁上輕鬆完成此操作,但在通過客戶端路由器更改路由時,load
事件似乎並未觸發。如果有幫助,我特別使用react-router。客戶端路由器的window.onload版本?
有沒有更好的解決方案?
我很難找到方法來告訴每個資源(例如圖像,視頻等)何時加載。我可以通過使用window.onload
在第一頁上輕鬆完成此操作,但在通過客戶端路由器更改路由時,load
事件似乎並未觸發。如果有幫助,我特別使用react-router。客戶端路由器的window.onload版本?
有沒有更好的解決方案?
要更改window
動態,這樣做:
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>