最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - react router - get current route - Stack Overflow

programmeradmin1浏览0评论

I have the following routes, is it possible to get the current route name and apply its own handler?

var routes = (
<Route name="app" path="/" handler={OurSchoolsApp}>
    <DefaultRoute name="home" handler={HomePage}  />
    <Route name="add-school" handler={AddSchoolPage}  />
    <Route name="calendar" handler={CalendarPage}  />
    <Route name="calendar-detail" path="calendar-detail/:id" handler={CalendarDetailPage} />
    <Route name="info-detail" path="info-detail/:id" handler={InfoDetailPage} />
    <Route name="info" handler={InfoPage} />
    <Route name="news" handler={NewsListPage} />
    <Route name="news-detail" path="news-detail/:id" handler={NewsDetailPage} />
    <Route name="contacts" handler={ContactPage} />
    <Route name="contact-detail" handler={ContactDetailPage} />
    <Route name="settings" handler={SettingsPage} />
</Route>
);

How do I get the current route name?

I want to do something like this?

Router.run(routes, function(Handler){
var mountNode = document.getElementById('app');

if(isRoute('home')){
        React.render(<Handler title="Home Page" /> , mountNode);
}else{
        React.render(<Handler title="default" /> , mountNode);
}

});

Can anyone help?

I have the following routes, is it possible to get the current route name and apply its own handler?

var routes = (
<Route name="app" path="/" handler={OurSchoolsApp}>
    <DefaultRoute name="home" handler={HomePage}  />
    <Route name="add-school" handler={AddSchoolPage}  />
    <Route name="calendar" handler={CalendarPage}  />
    <Route name="calendar-detail" path="calendar-detail/:id" handler={CalendarDetailPage} />
    <Route name="info-detail" path="info-detail/:id" handler={InfoDetailPage} />
    <Route name="info" handler={InfoPage} />
    <Route name="news" handler={NewsListPage} />
    <Route name="news-detail" path="news-detail/:id" handler={NewsDetailPage} />
    <Route name="contacts" handler={ContactPage} />
    <Route name="contact-detail" handler={ContactDetailPage} />
    <Route name="settings" handler={SettingsPage} />
</Route>
);

How do I get the current route name?

I want to do something like this?

Router.run(routes, function(Handler){
var mountNode = document.getElementById('app');

if(isRoute('home')){
        React.render(<Handler title="Home Page" /> , mountNode);
}else{
        React.render(<Handler title="default" /> , mountNode);
}

});

Can anyone help?

Share Improve this question asked Jun 17, 2015 at 11:01 BomberBomber 11k27 gold badges97 silver badges175 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 2

The second parameter of the callback function of Router.run is the state object. You can see here all the values that the state holds, you can use something from there.

发布评论

评论列表(0)

  1. 暂无评论