尝试执行以下操作,但不起作用。
ReactDOM.render(
<Router>
<div className="route-wrapper">
<Switch>
<App>
<Route exact path="/" component={HomePage} />
<Route path="/user" component={UserPage} />
</App>
<Route component={Err404} />
</Switch>
</div>
</Router>,
document.getElementById('main')
)
正如文档所述,Switch元素内仅允许Route和Redirect元素。如何在不显式地将HomePage和UserPage包裹在App中或没有将错误页面包裹在App中的情况下使其工作?
当我开始开发“通用React应用”时,第一页的加载是通过服务器端渲染完成的,但是我也遇到了类似的问题,因为React-
Router刚刚更新到4.0。您应该考虑如下重组应用程序:
ReactDOM.render(
<Router>
<div className="route-wrapper">
<Switch>
<Route path="/" component={App} />
<Route component={Err404} />
</Switch>
</div>
</Router>,
document.getElementById('main')
)
将App组件重构如下:
class App extends React.Component {
render() {
return <div>
<Switch>
<Route exact path="/" component={HomePage} />
<Route exact path="/user" component={UserPage} />
</Switch>
</div>;
}
}
我在想这样的事情: 前台有一个不同的布局和风格与管理区域。所以在frontpage中的路由是home、about等等,其中一个应该是子路由。 /home应该呈现到Frontpage组件中,而/admin/home应该呈现在后端组件中。 最终解决方案: 这是我现在使用的最终解决方案。这个例子也像传统的404页面一样有一个全局错误组件。
我有一个名为Dashboard的父组件,它被呈现为路由,如下所示: 我试着嘲笑每个人在嵌套路由上的解决方案,但我似乎无法解决我的问题。
我读了这个文件关于反应路由器交换机 我理解交换机和路由的定义 但有些地方还是不能理解 如果我只想选择一条路径进行渲染,我们可以使用如下开关 我不明白的一点是,我可以在没有开关的情况下获得同样的效果 那么,我们为什么要使用交换机呢?我们什么时候需要使用开关? 我发现一个需要使用开关的情况 如果我想在没有路径匹配时呈现特定的组件 我们需要像这样包装路由开关 我说得对吗?
我的目标是让http://mydomain/route1呈现React组件Component1,让http://mydomain/route2呈现component2。因此,我认为编写如下路线是很自然的: http://mydomain/route1按预期工作,但http://mydomain/route2反而呈现Component1。 然后我读了这个问题,并将路线改为:
我一直在读这篇文章:多嵌套路由反应路由器多姆v4和一些喜欢它,我不能让我的情况下工作。 这里有两个repl在尝试文章中描述的每种方法——也许我错过了什么? 如果您可以让这些REPL中的任何一个工作,我可能已经准备好了——但我更喜欢模块化的方法。谢谢你的帮助。 模块化为路线https://codepen.io/anon/pen/XGPKwZ?editors=0010 航线周围的集装箱https://