簡體   English   中英

React-Router onChange hook

[英]React-Router onChange hook

我在使react-router中的onChange掛鈎正常工作時遇到問題。 這是我的路線文件:

import React from 'react';
import { Router, Route, browserHistory } from 'react-router';
import TestOne from './Pages/testone';
import TestTwo from './Pages/testtwo';

function logUpdate() {
    console.log('Current URL: ' + window.location.pathname);
}

const Routes = (
    <Router history={browserHistory}>
        {/* App Routes */}
        <Route path="/" component={App} lang={lang}>
            <Route path="/testone" component={TestOne} onUpdate={logUpdate} />
            <Route path="/testtwo" component={TestTwo} onUpdate={logUpdate} />
        </Route>
    </Router>);

export default Routes;

我的理解是,每次狀態更改時都會觸發函數logUpdate。 但是,僅當我通過F5重新加載相應頁面時才會觸發它。

我的菜單使用簡單的鏈接,例如:

<div>
<Link to="/testone">Test One</Link>
<Link to="/testtwo">Test Two</Link>
</div>

我究竟做錯了什么?

onUpdate需要在Router實例上聲明而不是Route s。 雖然, Route s可以聲明onChangeonEnter鈎子 - 它可能就是你要找的東西。

我正在使用react-router ^ 2.4.0並且onUpdate對我不起作用。 我在我的基本路由組件上使用了onChange。

const Routes = (
    <Router history={browserHistory}>
        {/* App Routes */}
        <Route path="/" component={App} lang={lang} onChange={logUpdate}>
            <Route path="/testone" component={TestOne} />
            <Route path="/testtwo" component={TestTwo} />
        </Route>
    </Router>);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM