【React】使用react登陆,跳转首页

在当今数字化的时代,人们越来越依赖网络和应用程序。对于这些应用程序,用户的登录是其中一个最基本和关键的功能。React是一种非常流行的JavaScript库,它可以帮助我们构建复杂的用户界面,并提供了丰富的工具和组件来管理应用程序的状态和行为。使用React模拟登录是一个不错的学习项目,特别适合那些想要深入了解React技术的开发人员和初学者。在这篇博客中,我们将为你提供以下内容:

  1. React的基础知识:我们将介绍React的核心概念,包括组件、状态和生命周期方法等,以及如何使用这些概念构建一个简单的登录页面。
  2. 使用React构建登录页面:我们将通过实际演示,向你展示如何使用React构建一个登录页面。我们将使用一些常用的React组件和工具,例如表单、按钮、路由等。
  3. React最佳实践和技巧:我们将分享一些React的最佳实践和技巧,帮助你更好地应用React技术,并处理一些常见的问题。
    在学习使用React模拟登录的过程中,你将学会如何使用React构建一个完整的应用程序,同时深入了解React的核心概念和应用。无论你是新手还是有经验的开发人员,这篇博客都将为你提供有用的信息和见解,帮助你更好地了解React,并构建高效的应用程序。
  • 2023/5/25 使用react-router-dom v6.x.x 版本路由跳转
    react-router-dom v6以上的版本需要使用 useNavigate 进行跳转,如下:
//1. 安装最新版本的react-router-dom
npm i react-router-dom@latest

// 2. 引入
import { useNavigate } from 'react-router-dom';

//3. 定义
const navigate = useNavigate();

//4. 跳转
 navigate('/home');

登录页代码如下 login.js

import React, { useState } from 'react';
import './LoginPage.css'; // 导入样式文件
import { Message } from '@arco-design/web-react';
import { useNavigate } from 'react-router-dom';

function Login(){
  const navigate = useNavigate();
  const [username, setUsername] = useState('');
  const [password, setPassword] = useState('');

  const handleUsernameChange = (e) => {
    setUsername(e.target.value);
  };

  const handlePasswordChange = (e) => {
    setPassword(e.target.value);
  };

  const handleLogin = () => {

    if(username === 'admin' && password === '123456'){
      Message.success('登陆成功')
       // 跳转到首页
       navigate('/home');
    }
    // 处理登录逻辑
    console.log('登录');
  };
  return (
    <div className="login-page">
      <h2>登录</h2>
      <form>
        <div>
          <label htmlFor="username">用户名:</label>
          <input type="text" id="username" value={username} onChange={handleUsernameChange} />
        </div>
        <div>
          <label htmlFor="password">密码:</label>
          <input type="password" id="password" value={password} onChange={handlePasswordChange} />
        </div>
        <button type="button" onClick={handleLogin}>登录</button>
      </form>
    </div>
  )
}

export default Login;

值得注意的是 v6版本的很多API都做了修改,因此我将贴出我的App.js 供大家做参考

App.js

import './App.css'
import Login from './pages/Login/login'
import Home from './pages/home/index'

import { Routes, Route, Navigate } from 'react-router-dom'

function App() {
  return (
    <Routes>
      <Route path="/login" element={<Login />} />
      <Route path="/home" element={<Home />} />
      <Route path="/" element={<Navigate to="/login" />} />
    </Routes>
  )
}

export default App

react-router-dom 5.0和6.0的区别

整理了一些主要的区别供大家学习借鉴。

  • 组件结构:在React Router v5.0中,使用或作为根组件来包裹路由组件。而在React Router v6.0中,根组件被替换为,不再需要包裹路由组件。

  • 路由配置:在React Router v5.0中,使用组件来定义路由规则,并使用 组件来选择匹配的第一个路由。而在React Router v6.0中,路由规则被定义在组件内部,每个路由通过组件进行定义。此外,不再需要 组件。

  • 动态路由:在React Router v5.0中,使用组件的path属性来定义静态路由,而使用组件的render或component属性来定义动态路由。在React Router v6.0中,静态和动态路由都使用path属性来定义,并且支持参数和嵌套路由的简化语法。

  • 导航和重定向:在React Router v5.0中,使用组件来创建导航链接,并使用组件进行重定向。在React Router v6.0中,导航链接使用组件保持不变,但重定向使用组件来替代。

  • 路由钩子:在React Router v5.0中,使用组件的render属性或useEffect钩子来处理路由变化时的副作用。而在React Router v6.0中,路由钩子被整合到useRoutes或useNavigate等自定义钩子中。

实测使用作为根组件会报错

Cannot read properties of undefined (reading 'pathname')
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
React中,可以使用react-router-dom来实现页面跳转。有几种常见的方式可以实现页面跳转。 第一种方式是使用react-router-dom中的Link组件。这种方式适用于点击按钮或其他组件进行页面跳转。具体使用方式如下: ```jsx import { Link } from 'react-router-dom'; // 在需要触发跳转的组件中 <Link to="/path/newpath">点击跳转</Link> ``` 第二种方式是使用react-router-redux中的push方法进行页面跳转。这种方式适用于在Redux中进行页面跳转。具体使用方式如下: ```jsx import { push } from 'react-router-redux'; // 在需要触发跳转的组件中,通过dispatch调用push方法 dispatch(push('/path/newpath')); ``` 第三种方式是通过配置路由来实现页面跳转。可以使用React Router来配置路由。具体代码如下: ```jsx import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom'; // 配置路由 <Router> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Switch> </Router> // 在需要触发跳转的组件中 <Link to="/about">点击跳转</Link> ``` 需要注意的是,在使用React Router进行页面跳转之前,需要先安装相关的依赖包。可以使用npm命令来安装依赖: ```bash npm install react react-dom react-scripts react-router-dom@5 --save ```<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值