每次路由更改时都没有调用Router.match

时间:2017-05-05 05:07:31

标签: javascript reactjs react-router

我有服务器端渲染应用程序并使用react-router进行路由。我正在使用 Router.Run 之前因为方法不再使用 Router.Match 。以前当路由更改时路由器.run曾经被调用但是行为相同在router.match中没有发生。背后有什么理由吗?

1 个答案:

答案 0 :(得分:0)

我在下面定义的入口模块中定义了我的路由器,它将转到Layout组件以查找路径路径:

import { Router, Route, IndexRoute, hashHistory } from "react-router";
    ReactDOM.render(
    <Router history={hashHistory}>
    <Route path="/" component={Layout}> 
    //<IndexRoute component={Featured}></IndexRoute>
    <Route path="archives" name="archives" component={Archives}></Route>
    <Route path="settings" component={Settings}></Route>
    <Route path="featured" component={Featured}></Route>
    </Route>
    </Router>,
    document.getElementById('app'));

布局组件将路由器中定义的路径绑定到布局组件

中的不同组件
import { Link } from "react-router";
    class Layout extends React.Component(

    render(){
    return(

    {this.props.children}
     <li><MenuItem><Link to="archives">archives</Link></MenuItem></li>
             <li><MenuItem><Link to="settings">settings</Link></MenuItem></li>
             <li><MenuItem><Link to="featured">featured</Link></MenuItem></li>
    )

    }        
             );

您可以为路线组件定义任何操作。对我来说工作正常