React 路由是一个基于 React 的声明式路由库,它使得构建单页应用(SPA)变得非常简单。

路由基本概念

  • 路由器(Router): 负责根据不同的 URL 匹配不同的组件。
  • 组件(Component): 路由匹配到的组件,负责渲染内容。
  • 路由路径(Path): 用户在浏览器地址栏输入的 URL。

使用 React Router

以下是一个简单的例子,展示如何使用 React Router:

import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

function App() {
  return (
    <Router>
      <Switch>
        <Route exact path="/" component={Home} />
        <Route path="/about" component={About} />
        <Route path="/contact" component={Contact} />
        <Route component={NotFound} />
      </Switch>
    </Router>
  );
}

export default App;

在上面的代码中,我们定义了一个路由器(Router),然后通过 Switch 组件来匹配不同的路由路径(Path)。对于每个匹配到的路径,我们定义了一个组件(Component)来渲染内容。

路由链接

使用 React Router,我们可以通过 <Link> 组件来创建路由链接,如下所示:

import React from 'react';
import { Link } from 'react-router-dom';

function Navbar() {
  return (
    <nav>
      <ul>
        <li>
          <Link to="/">Home</Link>
        </li>
        <li>
          <Link to="/about">About</Link>
        </li>
        <li>
          <Link to="/contact">Contact</Link>
        </li>
      </ul>
    </nav>
  );
}

在上面的代码中,我们使用了 <Link> 组件来创建导航链接。当用户点击链接时,页面不会刷新,而是通过 React Router 实现了无刷新跳转。

路由传参

React Router 支持通过路径参数来传递数据,以下是一个例子:

import React from 'react';
import { useParams } from 'react-router-dom';

function UserProfile() {
  let { userId } = useParams();
  return <h1>User ID: {userId}</h1>;
}

在上面的代码中,我们使用 useParams 钩子获取到路径参数 userId,并在组件中渲染出来。

总结

React Router 是一个强大的路由库,它可以帮助我们构建功能丰富的单页应用。希望这个指南能帮助你更好地了解 React 路由。

React Router