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