React官方并没有推出路由,没有提出明确使用哪个路由。推荐使用第三方的路由。
时间: 2023-06-17 17:02:07 浏览: 34
是的,React 官方没有推出官方路由,但是他们提供了 React Router 这个第三方路由库。React Router 是 React 应用最流行的路由库之一,它提供了一系列的组件和 API,帮助开发者实现前端路由的功能。React Router 可以用于 Web 应用、React Native 应用等多种场景。除了 React Router,还有一些其他的第三方路由库,如 Reach Router、Next.js 等,开发者可以根据自己的需求选择合适的路由库。
相关问题
react如何在路由中使用路由,且不使用第一个路由的路径
React Router可以使用嵌套路由来实现在路由中使用路由。嵌套路由是指在一个路由中再嵌套一个或多个路由的方式,这样可以更好地组织和管理路由。
例如,我们可以使用以下代码来创建一个嵌套路由:
```
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
function App() {
return (
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/items" component={Items} />
</Switch>
</Router>
);
}
function Items() {
return (
<div>
<h2>Items</h2>
<Switch>
<Route path="/items/:id" component={ItemDetail} />
<Route path="/items" component={ItemList} />
</Switch>
</div>
);
}
```
在这个例子中,我们有一个名为`Items`的组件,它包含了两个嵌套的路由。第一个路由`/items/:id`用于显示具体的物品详情,第二个路由`/items`用于显示所有物品的列表。注意到在`Items`组件中我们没有使用`exact`属性,这是因为我们希望`/items/:id`路由也能够匹配到`/items`路径。
这样,当我们访问`/items`路径时,会显示`ItemList`组件,而当我们访问`/items/:id`路径时,会显示`ItemDetail`组件。同时,这两个路由都是在`/items`路径下的,不会与`/`路径产生冲突。
react 路由使用
React Router 是一个为 React 应用程序提供路由功能的第三方包。它可以帮助我们在 React 应用程序中 URL,使得用户能够通过 URL 直接访问到特的页面。
使用 React Router,你需要首先安装它。可以通过以下命令来安装:
```
npm install react-router-dom
```
然后在应用程序中引入路由相关的组件和方法:
```javascript
import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
```
其中,`BrowserRouter` 是一个用于包裹整个应用程序的组件。`Switch` 组件用于包裹多个 `Route` 组件,用于匹配 URL 和组件。`Route` 组件用于定义每个 URL 对应的组件,`Link` 组件用于定义每个链接。
下面是一个简单的例子:
```javascript
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
function Home() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function Users() {
return <h2>Users</h2>;
}
function App() {
return (
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/users">Users</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/about">
<About />
</Route>
<Route path="/users">
<Users />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
</Router>
);
}
ReactDOM.render(<App />, document.getElementById("root"));
```
在这个例子中,我们定义了三个组件:`Home`、`About` 和 `Users`。在 `App` 组件中,我们使用 `Router` 包裹整个应用程序,并在组件中引入了三个链接,分别对应 `Home`、`About` 和 `Users` 组件。使用 `Switch` 和 `Route` 组件,我们将每个 URL 映射到相应的组件。
在这个例子中,如果用户访问 `/about`,则会显示 `About` 组件;如果用户访问 `/users`,则会显示 `Users` 组件;如果用户访问 `/`,则会显示 `Home` 组件。