React路由器如何工作以及<link />和<route>之间的区别是什么

时间:2018-06-12 01:00:07

标签: reactjs react-router

路由器和路由器之间的区别是什么? 我们在哪里使用它们,还是我们一起或单独使用它们? 我在哪里可以找到真正的专业React Web开发教程?

3 个答案:

答案 0 :(得分:2)

链接和路由

<Link/>是您可以用来浏览路线的元素。

<Route/>,其最基本的职责是在位置与路线的路径匹配时呈现一些用户界面。

它们单独使用。链接取决于路线的位置。但是Route可以在没有Link的情况下使用。

React Router:https://reacttraining.com/react-router/web/guides/philosophy

React JS教程: https://reactjs.org/docs/hello-world.html

答案 1 :(得分:2)

RouteLink组件旨在一起使用,以完成应用程序中的不同任务。首先,React Router库旨在实现两件事:1。确保在URL栏中捕获状态转换。 2.确保应用程序通过有状态URL地址访问时从适当的状态开始。

链接组件的角色 Link组件是一种在应用程序中转换路由状态的方法。因此,如果单击链接组件,将激活路径状态。例如:

<Link to="/example" />

将注册应用程序处于'/ example'状态。此时,由组件来决定是否呈现适当的内容。

<Route path="/example" render={Profile] /> 

简而言之,Link组件负责从一个状态到另一个状态(页面到页面)的转换,而Route组件负责作为一个开关来显示基于路由状态的某些组件。

可以在https://reacttraining.com/react-router/

找到图书馆使用的最佳示例

答案 2 :(得分:1)

我将举例说明, 如果我有:

<Router>
        <Route path = "/" component = {LoginModule} />
        <Route path = "/Register" component = {RegisterModule}/>
</Router>

如果我转到URL localhost:3000,它将呈现登录模块。毫无疑问。

但是,如果我转到URL localhost:3000/Register,它将在同一页面的登录模块下方同时显示登录和注册模块。这是因为/ Register中也有“ /”。

这可以通过以下方法解决:

<Router>
        <Route exact = {true} path = "/" component = {LoginModule} />
        <Route path = "/Register" component = {RegisterModule}/>
</Router>