React(二)——注册页/登录页/Reducer/ [复制链接]
发表于 2025-11-16 00:21:05 | 显示全部楼层 |阅读模式
<hr>
  
<hr> 项目所在


      
  • 教程作者:  
  • 教程所在:
  1. https://www.udemy.com/course/master-react-js-build-multi-vendor-ecommerce-project/learn/lecture/42673410#overview
复制代码

  1. https://github.com/easylearningbd/frontend-mern-multi-vendor-ecommerce/commits/master/?after=f32f00ea140d4ea07d237aa25e05d1804f5c0390+34```
  2. - 所用到的框架和插件:
复制代码
dbt
airflow
  1. # 一、使用Yarn安装所有环境
  2. 1. 使用yarn 创建vite 项目
复制代码
yarn create vite
  1. 2. 提示行里创建 react js 项目
  2. 3. 进入到刚创建的react里,并且安装tailwindcss
复制代码
yarn add -D tailwindcss postcss autoprefixer
  1. 4. 创建tailwindcss的配置文件
  2. ```cs
  3. npx tailwindcss init -p
复制代码
      
  • 在tailwind.config.js设置
  1. /** @type {import('tailwindcss').Config} */
  2. export default {
  3.   content: ["./src/**/*.{js,jsx}"],
  4.   theme: {
  5.     extend: {},
  6.   },
  7.   plugins: [],
  8. };
复制代码
      
  • 在src/index.css引入tailwindcss
  1. @tailwind base;
  2. @tailwind components;
  3. @tailwind utilities;
复制代码
      
  • 在src/App.jsx测试安装是否乐成
  1. import React from "react";
  2. export default function App() {
  3.   return (
  4.     <div>
  5.       <h1 class="text-3xl font-bold underline">Hello world!</h1>
  6.     </div>
  7.   );
  8. }
复制代码
      
  • 安装项目所须要的全部依赖
  1. yarn add apexcharts react-apexcharts axios jwt-decode moment
  2. yarn add react-hot-toast react-icons @reduxjs/toolkit react-redux
  3. yarn add react-spinners react-window redux-thunk socket.io-client
复制代码
二、文件结构以及路由设置

ts版本
  1. [/code] [size=5]三、登录和注册[/size]
  2. [size=4]3.1 注册页面[/size]
  3. [size=3]3.1.1 静态页面[/size]
  4. [list]  
  5. [*][b]结构要领:[/b]
  6. 1. 先把全部须要提示的笔墨以及内容全部写出来
  7. 2. Form表单内部使用flex-col举行垂直分布
  8. 3. 全部使用到圆角的地方加over-flow-hidden
  9. 4. Or是一个样式,可以复用
  10. [/list] [align=center][img]https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNzFmMzAxNjQ1ZTVmNDIxZjg1YjA1NmY1MGIxMmZmMmUucG5n[/img][/align]
  11. [size=3]3.1.2 表单提交useSate[/size]
  12. [list]  
  13. [*][b]重要内容:[/b][list=1]   
  14. [*]表单value的获取和存储,使用useState完成   
  15. [*]输入框的value获取,使用自界说的inputHandle完成   
  16. [*]表单提交,须要制止革新   
  17. [*] value={state.email}获取的是表单里的name="email" 的值,须要对应起来   
  18. [/list]  
  19. [/list] [code]            <div className="flex flex-col w-full gap-1 mb-3">
  20.               <label htmlFor="email">Email</label>
  21.               <input
  22.                 className="px-3 py-2 outline-none border border-slate-400 bg-transparent rounded-md"
  23.                 type="text"
  24.                 name="email"
  25.                 placeholder="Email"
  26.                 id="email"
  27.                 onChange={
  28.    
  29.    inputHandle}
  30.                 value={
  31.    
  32.    state.email}
  33.                 required
  34.               />
  35.             </div>
复制代码

      
  • useSate的逻辑

3.2 登录页面


      
  • 登录页面只是对注册页面举行简单的修改

3.3 admin 的登录页面



      
  • 重要内容:
         
    • 在项目标根目次添加public用来存放公共的图片   
    • img的src的引入,直接通过http来导入   
    • img的样式添加   
      
  1. {
  2.    
  3.    /* title image */}
  4. <div className="flex justify-center items-center h-[70px]">
  5.   <div className="w-[180px] h-[50px]">
  6.     <img src="http://localhost:5173/images/logo.png" alt="image" />
  7.   </div>
  8. </div>
复制代码
四、关于auth登录和注册的Reducer


      
  • 文件结构
4.1 authReducer创建


      
  • 在src/store/Reducers/authReducer.js里创建authReducer,用来专门管理登录的消息,以及用户;
  1. import {
  2.    
  3.     createSlice } from "@reduxjs/toolkit";
  4. export const authReducer = createSlice({
  5.    
  6.    
  7.   name: "auth",![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/82daa299b90843739e92ee313da73ccd.png
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表