基于React.js的后台管理系统开发全过程(一)

简介: 基于React.js的后台管理系统开发全过程(一)

image.png

声明:该文章组件全部为函数组件,仅作为记录自己使用react全家桶来开发后台管理平台的记录日志,故文章内容可能会以自己的视角来书写,比如说省略了某些知识,跳过了某些关键的点。故该文章不作为教程发布。请读者选择性观看

夏天好热啊~本文章推荐开放空调阅读😊👉便携式迷你小空调


由于采用了黑科技,手机听筒放在脸庞可以有微风吹过,电脑端暂时没有实现,后续会继续优化~.

tips:这个空调我的文章中也有哦~

下面是正文:


一.前期工作准备


1.git创建仓库 2.create-react-app xxx 3.连接仓库 4.创建分支并且切换分支

二.项目基本结构的创建


根据实际项目的大概基本配置来完成自己src文件夹下的基础构造,未来如有需求可以再添加。

image.png

image.png

三.主页登陆页面的实现


路由工作准备,BrowserRouter包裹入口文件

image.png

接下来是用户登陆界面和后台管理页面路由的切换,先构建好骨架。

image.png

但是这时候默认首页是没有组件的,因为我们希望一进来是登陆页面,所以需要加一行<Navigate>的代码

image.png

这里使用了Material UI的组件快速生成了登陆页<Login/>组件 http://localhost:3000/login现在localhost:3000默认地址就是

image.png

四.登陆页面表单验证


在这里我们选择第三方组件库react-hook-form无比优雅的表单提交验证工具,不像antd那样沉重,功能却能和material的input类的组件完美契合!

image.png

image.png

image.png

registerhandleSubmit是这个hook的灵魂组件,其它的部分可以按需结构赋值。register是一个函数,它可以接受两个参数,第一个参数相当于这个input框的name值,为string类型,第二个参数是一个配置选项,是一个对象类型的数据,用了约束input框value值的格式。register作用是在input类的组件中注入,然后返回input框的name值和对应的value。

image.png

需要特别注意的是,如果注入了register函数,那么这个TextField组件就不能再额外有name属性,否则TextField的name属性将以内联样式为准,我们将无法从register的返回值中获取对应的value!!

这个hook的另一个功能就是可以和TextFieldhelperText完美配合来实现动态的提示用户指是否输入了我们规定的条件的值。

image.png

从引入方式不难观察出,formState-表单的状态中引入出errors这个方法,它无需你去监听onchange事件,该方法本身就可以实时获取用户目前的输入,来判断用户是否错误。

errors常用来搭配register("userName")中的第一个参数,errors.userName.message的意思是动态的检测用户输入的值,如果输入过程有错误,那么就将返回相对应的错误信息

下面是错误信息类型的演示,这些都是我在输入过程中动态显示的,并不是我点击了很多次提交才出现的效果.

image.png

image.png

image.png

image.png

当输入的值都符合规范的时候,提交按钮才会生效。

image.png

handleSubmit()接收用户定义的一个函数作为参数,并且将表单的name和value传递进该函数的参数中

image.png

注意,括号内的submit是我自定义的方法,名字不是必须叫submit

image.png

我们在控制台打印一下userInfo,可以看到用户的输入信息已经获取到了。

image.png

下面是submit发送ajax请求来模拟获取服务器的信息然后比较用户输入的值来判断是否允许用户登陆。(服务器是用express简答写的一个虚拟服务器)


image.png

下面是虚拟服务器信息,只写了一个get方法,目前还没学到数据库,未来准备学习mongoDB来模拟数据库,完成后续的用户注册功能.

image.png

至此,审核用户密码账号是否正确的功能完成。





相关文章
|
7月前
|
开发框架 前端开发 JavaScript
从零开始学习React Native开发
React Native是一种基于React框架的移动端开发框架,使用它可以快速地构建出高性能、原生的移动应用。本文将从零开始,介绍React Native的基础知识和开发流程,帮助读者快速入门React Native开发,并实现一个简单的ToDo应用程序。
|
7月前
|
存储 移动开发 前端开发
【第35期】一文学会React-Router开发权限
【第35期】一文学会React-Router开发权限
143 0
|
前端开发 数据库 Docker
一款可以直接使用的招聘网站, react django开发招聘网站,docker 部署
一款可以直接使用的招聘网站, react django开发招聘网站,docker 部署
89 0
|
3月前
|
资源调度 JavaScript 前端开发
使用vite+react+ts+Ant Design开发后台管理项目(二)
使用vite+react+ts+Ant Design开发后台管理项目(二)
|
7月前
|
存储 前端开发 JavaScript
从零开始学习React Native开发
【2月更文挑战第1天】React Native是一种跨平台的移动应用程序框架,可以使用JavaScript和React来构建Android和iOS应用程序。本文将带您从零开始学习React Native开发,涵盖了基础知识、组件、样式、布局、API等方面。
|
7月前
|
前端开发 JavaScript
你可能需要的React开发小技巧!(下)
你可能需要的React开发小技巧!(下)
|
7月前
|
前端开发 API
你可能需要的React开发小技巧!(上)
你可能需要的React开发小技巧!(上)
|
7月前
|
前端开发 JavaScript
React vscode 开发插件与代码补全提示
React vscode 开发插件与代码补全提示
281 0
|
存储 前端开发 JavaScript
react typescript 开发
react typescript 开发
65 0
|
前端开发 JavaScript 容器
react组件化开发详解
react组件化开发详解
128 0