郭震 AI公众号:郭震AI

30 React Router简介之使用Link和NavLink

发布日期:

分类: React从零教程

预计阅读: 2 分钟

在上一篇中,我们讨论了如何创建路由与导航。在这一章节中,我们将深入了解如何在 React 应用中使用 LinkNavLink 组件来实现导航功能。这两个组件是使用 React Router 进行导航的关键工具,它们能够帮助用户在应用的不同页面之间进行切换,而无需重新加载整个页面。

1. Link组件的使用

Link 组件用于在应用的不同组件之间进行导航。它生成一个可点击的链接,用户点击后会让应用转到另一个路径。

使用示例

首先,请确保你已经在项目中安装了 react-router-dom。可以通过以下命令安装:

npm install react-router-dom

接下来,我们可以创建一个简单的应用,在其中使用 Link 组件。

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

const Home = () => <h2>首页</h2>;
const About = () => <h2>关于我们</h2>;

function App() {
  return (
    <Router>
      <nav>
        <ul>
          <li>
            <Link to="/">首页</Link>
          </li>
          <li>
            <Link to="/about">关于我们</Link>
          </li>
        </ul>
      </nav>

      <Switch>
        <Route path="/about">
          <About />
        </Route>
        <Route path="/">
          <Home />
        </Route>
      </Switch>
    </Router>
  );
}

export default App;

在这个例子中,我们首先导入了 LinkRoute 组件。Link 组件的 to 属性指定了链接的路径。点击这个链接时,HomeAbout 组件会被渲染到页面中。

2. NavLink组件的使用

NavLink 组件与 Link 相似,但提供了更强大的功能,包括激活样式的支持。它使我们能够在用户导航到特定路由时,自动应用样式。

使用示例

我们可以使用 NavLink 为当前激活的链接添加样式,具体如下:

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

const Home = () => <h2>首页</h2>;
const About = () => <h2>关于我们</h2>;

function App() {
  return (
    <Router>
      <nav>
        <ul>
          <li>
            <NavLink to="/" exact activeClassName="active">首页</NavLink>
          </li>
          <li>
            <NavLink to="/about" activeClassName="active">关于我们</NavLink>
          </li>
        </ul>
      </nav>

      <Switch>
        <Route path="/about">
          <About />
        </Route>
        <Route path="/">
          <Home />
        </Route>
      </Switch>
    </Router>
  );
}

export default App;

在这个例子中,我们使用 NavLink 代替 LinkNavLinkactiveClassName 属性允许我们指定一种样式,当链接指向的路径匹配当前页面时,这种样式将被添加。例如,我们可以使用 CSS 来定义 .active 类。

.active {
  font-weight: bold;
  color: blue;
}

这样,在用户浏览到相应的路径时,NavLink 会被赋予 .active 类,从而改变其样式。

3. 小结

在这一节中,我们了解了 LinkNavLink 组件的基本用法。Link 用于创建简单的页面链接,而 NavLink 则提供了激活状态的样式处理。通过这些组件,我们能够构建出具有良好用户体验的单页应用。

接下来,我们将深入探讨 React 中的 Hooks 使用,特别是 useStateuseEffect 的介绍。这些 Hooks 将使我们在组件中管理状态和副作用变得更加高效。

微博邮件

相关内容

更多相关文章

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...