Han*_*Han 2 javascript meteor react-router
我有两个组件,{App}和{Blog},当我尝试从App路由到Blog页面时,实际上Blog页面的内容附加在App页面的最后。如何从应用程序页面跳转到博客页面?
路由:
const routes = (
<BrowserRouter>
<div>
<Route path="/" component={App}/>
<Route path="blog" component={Blog}/>
</div>
</BrowserRouter>
);
Meteor.startup(() => {
ReactDOM.render(routes, document.querySelector(".render-target"));
});
Run Code Online (Sandbox Code Playgroud)
Blog.js:
class Blog extends Component{
render(){
return(
<div>Blog</div>
);
};
}
export default Blog;
Run Code Online (Sandbox Code Playgroud)
您需要使用react-router中的Switch组件。这将确保第一条路线在内部匹配。
<BrowserRouter>
<Switch>
<Route path="blog" component={Blog}/>
<Route path="/" component={App}/>
</Switch>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)
在示例中可以看到,将博客路由放在/之前。如果将/路由作为第一个路由,它将与其他任何路由上的该路由匹配并在此处停止。
有关更多信息,请查看此部分