react-router之路由跳转

以当前博客内容为例 点击

基本语法

一般有三种方式进行路由的跳转

  1. <Link>组件
  2. <NavLink>组件
    • <Link>组件功能相同
    • 但是他可以调整样式styleclassName可以接收一个函数
  3. useNavigate钩子函数

<Link>组件

  • 在上面的例子中我们就使用了<Link>组件进行跳转,官网说明 点击
 <Link to="/about">About</Link>

官网中的参数说明

 replace?: boolean;
 state?: any;
 to: To;
 reloadDocument?: boolean;

一般路由跳转都会跟这三个参数

<NavLink>组件

官网

当前组件可以识别到当前的路由是否是激活的路由

  • className
function Home() {
  let activeClassName = "underline";
  return (
    <>
    ...
      <nav>
        {/* <Link to="/about">About</Link> */}
        <NavLink 
          to="/about"
          className={({ isActive }) =>isActive ? activeClassName : undefined}
        >About</NavLink>
      </nav>
    </>
  );
}
  • style
function About() {
  let activeStyle = {
    textDecoration: "underline",
  };
  return (
    <>
      <main>
      ...
      </main>
      <nav>
        {/* <Link to="/">Home</Link> */}
        <NavLink 
          to="/"
          style={({ isActive }) => isActive ? activeStyle : undefined}
        >Home</NavLink>
      </nav>
    </>
  );
}

编程式路由跳转

我们一般通过useNavigate方法进行跳转,点击

function About() {
  const navigate = useNavigate()
  const handelClickToHome = () => {
    navigate("/")
  }

  return (
    <>
    ...
      <nav>
        <button onClick={handelClickToHome}>Home</button>
      </nav>
    </>
  );
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值