如何在下一步中定位活动链接.他们喜欢我们在React-Router-4中的做法吗?

推荐答案

基于useRouter挂钩的简单解决方案:

import Link from "next/link";
import { useRouter } from "next/router";


export const MyNav = () => {

  const router = useRouter();

  return (
    <ul>
      <li className={router.pathname == "/" ? "active" : ""}>
        <Link href="/">home</Link>
      </li>
      <li className={router.pathname == "/about" ? "active" : ""}>
        <Link href="/about">about</Link>
      </li>
    </ul>
  );
};

如果希望包含url查询参数,也可以使用router.asPath而不是router.pathname.如果想要处理锚定标记(如/#about),这可能很有用.

Reactjs相关问答推荐

Npm运行构建`在Next.js 14中不起作用

REACT路由DOM根据参数呈现不同的路由

将动态元素中的输入数据传输到Reaction

我应该如何管理设置组件初始状态的复杂逻辑?

在新屏幕上显示照片时出现问题-react

React-React中是否完全支持基于类的组件?

ReactJS:唯一项目的数量总和

无法使用 MongoDB Atlas 和 Next.js 删除正确的帖子

字段是必需的,当它没有定义时

有没有办法在用户离开页面时防止输入模糊?

在 React 中使用复选框管理状态

Material UI v5.11 - Prop sx 在响应式中写了两次

为什么 setState 在 React 中不是异步的?

如何将值从下拉列表传递到 select 上的输入?响应式JS

错误:无效挂钩调用.钩子只能在函数组件的主体内部调用.使用 next/router 时

React Router 6.4CreateBrowserRouter子元素不显示

如何使用 cypress 获取 MUI TextField 的输入值?

使用 yarn 编译 protobuf js 时出现错误pbjs: command not found

在表格中显示具有自定义声明的用户状态

你如何使用 refs 访问 React 中映射子项的值?