javascript - 每次路由更改时不会调用 Router.match

标签 javascript reactjs react-router

我有服务器端渲染应用程序并使用react-router进行路由。我之前使用的是 Router.Run ,因为该方法不再是我使用的 Router.Match 。以前,当路由发生变化时,router.run 会被调用,但行为相同router.match 中没有发生。这背后有什么原因吗?

最佳答案

我已经在下面定义的入口模块中定义了我的路由器,它将转到布局组件来查找路由路径:

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'));

布局组件会将router中定义的路径绑定(bind)到布局组件中的不同组件

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>
    )

    }        
             );

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

关于javascript - 每次路由更改时不会调用 Router.match,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43796916/

相关文章:

javascript - req.body 在发布时返回空

javascript - 如何使用ajax一键点击动态显示多个表格

javascript - react : Link to a div on another html page

javascript - 访问另一个对象内的数组内的对象

javascript - 如何使用react-router <Prompt>显示组件以防止或允许路由更改

javascript - 支持在任何路由上显示模态的 React Router 路由配置

javascript - noscript 标签在 iPad 和 iPod 上不起作用

javascript - 如何读取文件夹内的文件夹并从每个文件夹获取 index.html 并作为列表 (li) 标记中的链接传递

reactjs - Draft-js-export-html 导出时不包含视频

reactjs - 通过路线传递 Prop