React实现简单登录的项目实践

 更新时间:2024年01月05日 09:34:42   作者:嗯嗯=  
登录、注册、找回密码是前端项目经常遇到的需求,本文主要介绍了React实现简单登录的项目实践,具有一定的参考价值,感兴趣的可以了解一下

一 、实现效果(样式是之前设置的)

二 、具体实现代码

2.1、Login.js

import {useNavigate} from "react-router-dom";
import React from "react";
// import './style2.css'

function Login(){
    const navigate=useNavigate()
    function handLogin(){
        navigate("/home",{replace:true})
    }
    return(
        <div id="Log">
                <p>登录页面</p>
                <span>用户名:</span><input type={'text'} name={'姓名'} placeholder={"姓名"} pattern="^[\u4e00-\u9fa5]+$" required/><br/>
                <span>登录密码:</span><input type={'password'} name={'密码'} placeholder={"密码"} required/><br/>
                <span>邮箱:</span><input type={'email'} name={'邮箱'} placeholder={"邮箱"} required/><br/>
                <span>年龄:</span><input type={'number'} name={'年龄'} placeholder={"年龄"} required/><br/>
                <span>电话号码</span><input type={'text'} name={'电话号码'} placeholder={"电话号码"} required/><br/>
                <button onClick={handLogin}>登录</button>
                <button>重置</button>
                <ul>
                     <li>
                        <a href={'#'}>没有账号?</a>
                        <a href={'#'}>注册?</a>
                        <a href={'#'}>忘记密码?</a>
                    </li>
                </ul>
        </div>
    )
}
export default Login

2.2、Home.js

function Home(){
    return(
        <h1>首页中心页面</h1>
    )
}

export default  Home

三、代码解析

<strong> const navigate=useNavigate()
    function handLogin(){
        navigate("/home",{replace:true})
    }</strong>

这段代码是定义了一个`navigate`常量,它是通过调用`useNavigate` hook来创建的。`useNavigate` hook是React Router提供的一个函数,用于在React组件中导航到不同的路径。

然后,代码定义了一个`handLogin`函数来处理登录操作。在这个函数内部,它调用了`navigate`函数,并传入了两个参数:路径`"/home"`和一个配置对象`{replace:true}`。这个配置对象的作用是将新的路径加入到历史记录中,而不是在历史记录中创建一个新的条目。

最后,当调用`handLogin`函数时,它会将用户导航到路径`"/home"`,并且会使用配置对象中指定的方式进行导航。

关于const

在React中,const是用来声明一个常量的关键字。常量是一个具有固定值的标识符,它的值在声明后不能被修改。

在React中,使用const关键字可以创建一个不可变的变量,这意味着变量的值在声明后不能被重新赋值。这对于定义一些固定的值、配置信息、常用的函数等非易变的内容非常有用。

navigate("/home",{replace:true}

`navigate("/home", {replace: true})` 是使用 `react-router-dom` 包中的 `useNavigate` hook 进行页面导航的一种方式。

在这个例子中,`navigate` 函数将会根据指定的路径进行页面导航。 `"/home"` 是目标页面的路径。`{replace: true}` 是一个可选的配置对象,用于指定导航行为。`replace` 设置为 `true` 表示使用替换导航,即将当前的页面替换为目标页面,而不是添加一个新的历史记录。

使用 `replace` 导航相当于使用 `history.replace` 进行页面导航,这意味着在导航后,用户无法通过浏览器的后退按钮返回到上一个页面,而是直接跳转到目标页面。

需要注意的是:`useNavigate` hook 只能在 `react-router-dom` 的 `v6` 版本或更高版本中使用。如果项目中使用的是 `v5` 版本或更低版本的 `react-router-dom`,则需要使用 `useHistory` hook 来实现类似的导航功能。

例子中的 `handLogin` 函数使用 `navigate` 函数进行页面导航,当登录操作完成后,通过 `replace` 导航到目标页面 `/home`。

到此这篇关于React实现简单登录的项目实践的文章就介绍到这了,更多相关React 登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论