iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在React中利用路由实现一个登录界面的跳转
  • 159
分享到

怎么在React中利用路由实现一个登录界面的跳转

2023-06-14 10:06:46 159人浏览 八月长安
摘要

怎么在React中利用路由实现一个登录界面的跳转?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先看一下总体的目录结构。因为很多时候在看别人写的例子的时候因为目录结构不熟悉后边

怎么在React中利用路由实现一个登录界面的跳转?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

首先看一下总体的目录结构。

因为很多时候在看别人写的例子的时候因为目录结构不熟悉后边会出现意想不到的岔子。

怎么在React中利用路由实现一个登录界面的跳转

2、大体流程:

1)webpack配置入口文件src/index.js
2)运行index.html后首先加载入口文件src/index.js
3)加载路由表src/router/index.js
4)根据路由表中的配置会首先加载登录界面src/login.js
5)当在登录界面登录成功后跳转到src/components/myView.js
6)在myView文件中点击左侧菜单会分别显示指定页面(都是在路由表中配置)

3、写HTML文件。

其中,1)id为myContent处是为了放置我们写的组件。
2)script中加载的文件时WEBpack打包后的js文件。

<body> <div id="myContent"></div> <script src="./dist/bundle.js"></script></body>

4、登录界面写在了login.js中

1)引入必要的模块:antd(Ant Design )是一个组件库,我们项目中使用的组件都来自它。(https://ant.design/index-cn)(不引入antd.CSS时,那么界面显示不出来样式)

import React from 'react'import {FORM,Input,Icon, Button} from 'antd'// import {render} from 'react-dom'// import axiOS from 'axios'import '../node_modules/antd/dist/antd.css'//不引入这个文件那么不显示antd的样式import './style/login.css';

2)创建登录表单组件。除了基本的Form、Input、Button组件外,实现跳转功能的主要是history.push('/View');(其中,history = this.props.history;)push函数中的路径是路由表中配置的路径( ),二者要对应起来。

class LoginFrom extends React.Component{ constructor(){ super() } handleSubmit = (e) => { //提交之前判断输入的字段是否有错误 e.preventDefault();  **let history = this.props.history;** this.props.form.validateFields((errors,values)=>{  if (!errors) {  console.log('Received values of form: ', values);  **history.push('/View');**  } }) } render(){ //Form.create 包装的组件会自带this.props.form属性,该属性提供了一系列api,包括以下4个 //getFieldDecorator用于和表单进行双向绑定 //isFieldTouched判断一个输入控件是否经历过 getFieldDecorator 的值收集时机 options.trigger(收集子节点的值的时机,默认时onChange) //getFieldError获取某个输入控件的 Error //获取一组输入控件的 Error ,如不传入参数,则获取全部组件的 Error const { getFieldDecorator, getFieldsError, getFieldError, isFieldTouched } = this.props.form; const userNameError = isFieldTouched('userName') && getFieldError('userName'); const passWordError = isFieldTouched('password') && getFieldError('password'); return (  <div className="login">  <div className="login-form">   <div className="login-loGo">   <div className="login-name">MSPA</div>   </div>   <Form onSubmit={this.handleSubmit}>   {}   <Form.Item    validateStatus={userNameError ? 'error' : ''}//validateStatus为校验状态,如不设置,则会根据校验规则自动生成,可选:'success' 'warning' 'error' 'validating'   >   {    getFieldDecorator('userName',{    rules:[{required:true,message:"Please input your username!"}]    })(    <Input prefix={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }}/>}     placeholder="Username"    />    )   }   </Form.Item>   <Form.Item    validateStatus={passWordError ? "error" : ''}   >   {    getFieldDecorator('passWord',{    rules:[{required:true,message:"Please input your Password!"}]    })(    <Input prefix={<Icon type="lock" style={{ color: 'rgba(0,0,0,.25)' }}/>}     placeholder="Password"    />    )   }   </Form.Item>   <Form.Item>    <Button    type="primary"    htmlType="submit"    disabled={hasErrors(getFieldsError)}    >登录    </Button>   </Form.Item>   </Form>  </div>  </div> ) }}let LoginForm = Form.create()(LoginFrom);export default LoginForm;

3、在第二步中我们已经把静态页面写出来了,接下来就是配置路由表**了。**我们将路由信息都配置在了router文件夹下的index.js中。react-router中文文档(Https://react-guide.GitHub.io/react-router-cn/),其中history的简单介绍可以参考(https://www.yisu.com/article/208929.htm),比较容易快速理解。

怎么在React中利用路由实现一个登录界面的跳转

代码如下:前三行中引入的模块是基本的模块,后边import的模块是写好的组件:首页显示login界面,登录成功后跳转到myView界面,myPicture和myDocument是在myView界面点击后所显示的组件。(嵌套路由)

import React from 'react'import {HashRouter as Router , Route , Switch} from 'react-router-dom'import { createBrowserHistory } from "history";import MyView from '../components/myView.js'import LoginModule from '../login.js'import MyPicture from '../components/myPicture'import MyDocument from '../components/myDocument.js'export default class MyRoute extends React.Component{ render(){ return(  <Router history={createBrowserHistory()}>  <Switch>   <Route exact path="/" component={LoginModule}/>   <MyView path='/View' component={MyDocument}>   <Route path="/View/abc" component={MyDocument} />   <Route path="/View/myPicture" component={MyPicture} />    </MyView>   </Switch>  </Router> ) } }

4、接下来我们在src文件夹下的index.js(程序的入口文件)文件中写如下代码。

import MyRoute from './router/index.js'import {render} from 'react-dom'import React from 'react'render( <MyRoute />,  document.getElementById('myContent'));

5、程序测试结果如下:

1)登录界面(login.js):

怎么在React中利用路由实现一个登录界面的跳转

2)输入用户名和密码点击登录后的跳转界面(myView.js):

怎么在React中利用路由实现一个登录界面的跳转

看完上述内容,你们掌握怎么在React中利用路由实现一个登录界面的跳转的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 怎么在React中利用路由实现一个登录界面的跳转

本文链接: https://www.lsjlt.com/news/269980.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在React中利用路由实现一个登录界面的跳转
    怎么在React中利用路由实现一个登录界面的跳转?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先看一下总体的目录结构。因为很多时候在看别人写的例子的时候因为目录结构不熟悉后边...
    99+
    2023-06-14
  • React利用路由实现登录界面的跳转
    上一篇在配置好了webpack和react的环境后,接下来开始写登录界面,以及接下来的跳转到主页的功能。 1、首先看一下总体的目录结构。 因为很多时候在看别人写的例子的时候因为目录...
    99+
    2024-04-02
  • PyQt5怎么实现用户登录GUI界面及登录后跳转
    这篇文章主要讲解了“PyQt5怎么实现用户登录GUI界面及登录后跳转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PyQt5怎么实现用户登录GUI界面及登录后跳转”吧!导入业务需要的所有的扩...
    99+
    2023-06-25
  • 怎么在Android中使用Kotlin实现一个登录界面
    怎么在Android中使用Kotlin实现一个登录界面?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。登录界面代码如下:class LoginActiv...
    99+
    2023-05-30
    android kotlin
  • 怎么在React Router中利用history实现跳转
    这篇文章给大家介绍怎么在React Router中利用history实现跳转,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。hookimport {useHistory} from '...
    99+
    2023-06-14
  • 怎么在React中利用Form组件实现一个登录功能
    本篇文章给大家分享的是有关怎么在React中利用Form组件实现一个登录功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。引入所需的 Antd 组件,代码如下所示:import...
    99+
    2023-06-14
  • 怎么在Android应用中实现一个跳转到主界面功能
    怎么在Android应用中实现一个跳转到主界面功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。//homeIntent intent= new Intent(Intent.A...
    99+
    2023-05-31
    android roi
  • 利用Android怎么制作一个APP登录界面
    这期内容当中小编将会给大家带来有关利用Android怎么制作一个APP登录界面,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。布局的xml文件<&#63;xml version="1...
    99+
    2023-05-31
    android pp
  • 怎么在Android中利用IntentUtil实现一个跳转功能
    本文章向大家介绍怎么在Android中利用IntentUtil实现一个跳转功能的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Android是什么Android是一种基于Linux内核的自由及开放源代码的操作系统...
    99+
    2023-05-30
    android intentutil
  • 如何在Android中利用Intent实现一个页面跳转功能
    本篇文章为大家展示了如何在Android中利用Intent实现一个页面跳转功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Intent实现页面之间跳转1、无返回值startActivity(int...
    99+
    2023-05-30
    android intent
  • 怎么在SpringBoot利用Mybatis实现一个登录注册页面
    怎么在SpringBoot利用Mybatis实现一个登录注册页面?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。环境jdk8 : “1.8.0_281”Maven...
    99+
    2023-06-06
  • 怎么利用PyQt5制作一个简单的登录界面
    这篇文章主要介绍“怎么利用PyQt5制作一个简单的登录界面”,在日常操作中,相信很多人在怎么利用PyQt5制作一个简单的登录界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用PyQt5制作一个简单的登...
    99+
    2023-07-02
  • 使用vue路由怎么实现一个登录拦截功能
    本篇文章给大家分享的是有关使用vue路由怎么实现一个登录拦截功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、概述vue-router提供了导航钩子:全局前置导航钩子 be...
    99+
    2023-06-14
  • Angular中怎么利用路由跳转到指定页面的指定位置
    这篇文章将为大家详细讲解有关Angular中怎么利用路由跳转到指定页面的指定位置,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。detail.componen...
    99+
    2024-04-02
  • vue3中怎么使用router路由实现跳转传参
    本文小编为大家详细介绍“vue3中怎么使用router路由实现跳转传参”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中怎么使用router路由实现跳转传参”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一...
    99+
    2023-07-06
  • 怎么在Android应用中实现一个背景可滑动的登录界面效果
    怎么在Android应用中实现一个背景可滑动的登录界面效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现思路主要列举一下实现过程过程中遇到的难点。如何使键盘...
    99+
    2023-05-31
    android roi
  • 使用React怎么实现一个登录表单
    这篇文章将为大家详细讲解有关使用React怎么实现一个登录表单,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:import React from ...
    99+
    2023-06-14
  • Laravel中怎么实现未登录用户跳转
    本篇内容介绍了“Laravel中怎么实现未登录用户跳转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用 middleware 实现未登录用...
    99+
    2023-07-05
  • 怎么在SpringBoot中利用Shiro实现一个密码登录功能
    怎么在SpringBoot中利用Shiro实现一个密码登录功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。导入依赖(pom.xml) <!--...
    99+
    2023-06-06
  • 如何在Android中利用RecyclerView实现一个聊天界面
    这篇文章给大家介绍如何在Android中利用RecyclerView实现一个聊天界面,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体内容如下首先在app/build.gradle(注意有两个build.gradle,...
    99+
    2023-05-30
    android recyclerview
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作