web前端全系列 教程
1839个小节阅读:2243.1k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
当渲染一个 <Navigate>
元素的时候,就会执行它指向的路由跳转。
xxxxxxxxxx
<Navigate to='/user'/>
一般逻辑发生变化后,想要跳转到其他页面(非手动点击方式)使用。
xxxxxxxxxx
//index.js
<Routes>
<Route path='/login' element={<Login/>}/>
<Route path="/" element={<App />}>
<Route index element={<Home />} />
<Route path="user" element={<User />} caseSensitive>
<Route path='item' element={<Item/>} />
</Route>
</Route>
</Routes>
xxxxxxxxxx
//pages/Login.js
import React, { useRef, useState } from 'react'
import { Navigate } from 'react-router-dom'
export default function Login() {
const nameRef = useRef()
const pwdRef = useRef()
const [isLogin, setIsLogin] = useState()
const onLogin = (e) => {
// 阻止默认事件
e.preventDefault()
// 如果输入了用户名跟密码。则登录成功,跳转到首页
if (nameRef.current.value && pwdRef.current.value) {
setIsLogin(true)
}
}
return (
<div>
<h2>登录</h2>
<form onSubmit={onLogin}>
用户名:<input ref={nameRef} required/>
密码:<input type='password' ref={pwdRef} required/>
<button type='submit'>登录</button>
</form>
{/* isLogin为ture,则跳转到首页 */}
{isLogin&&<Navigate to='/' />}
</div>
)
}
实时效果反馈
1. 使用___不能实现页面跳转:
A 点击<Link>
B 点击<NavLink>
C 点击<Navigate>
D 渲染<Navigate>
答案
1=>C