如何從<Router>
的onUpdate
訪問this.props
?我需要能夠看到目前的路線是什麼,我需要訪問this.props.route
我想確定它是什麼頁面(name
)。 我找不到它的一些資源。我有這樣的代碼(現在它檢查了window.location來確定它是什麼頁面,但問題是蛞蝓,因爲它可以是任何不同的靜態頁面):react-router如何訪問this.props
const logPageViews =() => {
if (_.startsWith(window.location.pathname, '/search/')) {
let query = window.location.pathname.replace('/search/', '').replace(/--/g, '/').replace(/-/g, '+');
if (!_.isEmpty(window.location.search)) {
query += `&${window.location.search.replace('?', '')}`;
}
ga.pageview(`/search?query=${query}`);
} else {
ga.pageview(window.location.href.replace(window.location.origin, ''));
}
fbq.pageView();
}
const reducer = combineReducers(reducers);
const store = applyMiddleware(...middlewares)(createStore)(reducer, initialState);
ReactDOM.render(
<Provider store={store}>
<Router routes={getRoutes(store)} history={browserHistory} onUpdate={() => {logPageViews()}} />
</Provider>,
document.getElementById('app')
);
它有助於直接調用'logPageViews'而不是將它包裝在一個匿名函數中嗎?所以:'onUpdate = {logPageViews}' –
@MaartenBicknese'this'仍然沒有定義這樣做。 – index