当前位置: 首页 > news >正文

react学习记录

一、目录结构react优秀代码之react目录结构简洁之道React 作为一个库,不会决定你如何组织项目的结构。这是件好事,因为这样 - 掘金【React】项目的目录结构全面指南_react项目结构-CSDN博客

1、创建项目:开发文档

Getting Started | Create React App 中文文档

node18以上

npx create-react-app my-app
cd my-app
npm start

1)可能的报错:react项目运行出现 One of your dependencies, babel-preset-react-app, is importing the “xxxxxxx”

npm install --save-dev @babel/plugin-proposal-private-property-in-object

2)创建ts的

npx create-react-app my-app --template typescript

3)vite创建的

npm init vite

4)样式初始化:

npm i reset-css
引入

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import "reset-css"//引入
import App from './App.tsx'

5)引入sass  npm i --save-dev sass

6)路径别名配置 @=src

vite.config.ts文件里面

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from "path"// https://vite.dev/config/
export default defineConfig({plugins: [react()],resolve: {alias: {"@": path.resolve(__dirname, "./src")}}
})

使用ts可能会报错无path,需要安装 npm i -D @types/node

别名的提示配置:在tscofig.app.json里面

compilerOptions中添加
"baseUrl": "./","paths": {"@/*": ["src/*"]},

7)ant design 按需引入

npm install vite-plugin-style-import@1.4.1 -D

二、路由

import App from "../App"
import Home from "../views/Home"
import About from "../views/About"
import {BrowserRouter,Routes,Route} from "react-router-dom"
//两种路由模式的组件:BrowserRouter(History模式),HashRouter(Hash模式)
// const baseRouter =()=>{1return()/1 }// 以上写法可以简写为:
const baseRouter =()=>(<BrowserRouter><Routes><Route path="/" element={<App/>}><Route path="/home" element={<Home/>}></Route><Route path="/about" element={<About/>}></Route></Route></Routes></BrowserRouter>
)
export default baseRouter
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import "reset-css"
import "@/assets/styles/global.scss"
import App from './App.tsx'
import Router from "@/router";createRoot(document.getElementById('root')!).render(<StrictMode><Router />//修改这个</StrictMode>,
)

 

import {Outlet} from "react-router-dom";
function App() {return (<><Outlet></Outlet></>)
}
export default App

react里面的:outlet = vue里面的: router view

生命周期
【React 面经】生命周期详解:不同阶段与方法解析-CSDN博客

实例:表单创建

react+antd动态表单以及数组对象示例 - 灰信网(软件开发博客聚合)

更新状态数组中的某个对象

tempArray[index] = {...tempArray[index], name: event.target.value};

向数组中添加一个空对象

form.setFieldsValue({"contacts":[...contacts,{name:'',mobile:''}]})

删除数组中索引为index的元素

form.setFieldsValue({"contacts":[...contacts.slice(0,index),...contacts.slice(index+1)]})return setContacts([...contacts.slice(0,index),...contacts.slice(index+1)])

原理:合并【0,index) [index+1,末尾】

  • contacts.slice(0, index) 创建一个新数组,包含从 contacts 数组开始到索引 index(不包括 index)的所有元素。
  • contacts.slice(index + 1) 创建另一个新数组,包含从 contacts 数组索引 index + 1 到数组末尾的所有元素。

table

React+antd动态增加Table可编辑行_react中class组件实现一个可编辑表格-CSDN博客

父子组件传值

【实例】React 组件传值方法: Props、回调函数、Context、路由传参_react 执行子组件中的方法并接受返回值-CSDN博客

报错 message.error('请先保存');

相关文章:

react学习记录

一、目录结构react优秀代码之react目录结构简洁之道React 作为一个库&#xff0c;不会决定你如何组织项目的结构。这是件好事&#xff0c;因为这样 - 掘金【React】项目的目录结构全面指南_react项目结构-CSDN博客 1、创建项目&#xff1a;开发文档 Getting Started | Create…...

Day2——需求分析与设计

教师端签到应用软件的需求分析&#xff1b; 产品经理如何写好产品需求文档&#xff08;附模板&#xff09; 需求分析是软件开发过程中的关键步骤&#xff0c;它确保了开发的软件能够满足用户的需求。以下是进行需求分析的具体步骤&#xff1a; 1. 确定分析目标 明确教师端签到…...

VScode离线下载扩展安装

在使用VScode下在扩展插件时&#xff0c;返现VScode搜索不到插件&#xff0c;网上搜了好多方法&#xff0c;都不是常规操作&#xff0c;解决起来十分麻烦&#xff0c;可以利用离线下载安装的方式安装插件&#xff01;亲测有效&#xff01;&#xff01;&#xff01; 1.找到VScod…...

【机器学习】机器学习的基本分类-监督学习-决策树(Decision Tree)

决策树是一种树形结构的机器学习模型&#xff0c;适用于分类和回归任务。它通过一系列基于特征的条件判断来将数据分割为多个子区域&#xff0c;从而预测目标变量的值。 1. 决策树的结构 根节点&#xff08;Root Node&#xff09; 决策树的起点&#xff0c;包含所有样本。根据某…...

【第 1 章 初识 C 语言】1.8 使用 C 语言的 7 个步骤

目录 1.8 使用 C 语言的 7 个步骤 1.8.1 第 1 步&#xff1a;定义程序的目标 1.8.2 第 2 步&#xff1a;设计程序 1.8.3 第 3 步&#xff1a;编写代码 1.8.4 第 4 步&#xff1a;编译 1.8.5 第 5 步&#xff1a;运行程序 1.8.6 第 6 步&#xff1a;测试和调试程序 1.8.…...

Docker 使用 Dockerfile 文件打包部署前端项目

编写 Dockerfile 文件&#xff1a; FROM nginx:latest ADD dist /etc/nginx/html/dist COPY nginx.conf /etc/nginx/nginx.conf ENV PATH /usr/sbin:$PATH EXPOSE 80 ENTRYPOINT ["nginx"] CMD ["-g","daemon off;"]编写 nginx.conf 文件&#…...

HTML-全

. CSS css后缀名的文件被html引用 在HTML中&#xff0c;CSS&#xff08;层叠样式表&#xff0c;Cascading Style Sheets&#xff09;是一种用于设置网页上的文本内容、图片布局和版面设计等外观样式的样式表语言。简单来说&#xff0c;CSS定义了HTML元素如何显示在浏览器中。…...

高效流程图绘制:开发设计流程图利器

在选择画流程图的工具时&#xff0c;不同的项目和使用场景会决定最佳的工具。以下是几款常见的流程图工具&#xff0c;并结合具体项目使用场景提供建议&#xff1a; 1. Lucidchart 特点&#xff1a; 在线协作&#xff1a;支持多人实时协作&#xff0c;适合团队合作。模板丰富&…...

数据仓库的概念

先用大白话讲一下&#xff0c;数据仓库的主要目的就是存储和分析大量结构化数据的。 > 那么它的核心目的是&#xff1a;支持商业智能&#xff08;BI&#xff09;和决策支持系统&#xff0c;也就是说&#xff0c;它不仅仅是为了存储&#xff0c;更重要的是为了分析提供便利。…...

AI - 谈谈RAG中的查询分析(2)

AI - 谈谈RAG中的查询分析&#xff08;2&#xff09; 大家好&#xff0c;RAG中的查询分析是比较有趣的一个点&#xff0c;内容丰富&#xff0c;并不是一句话能聊的清楚的。今天接着上一篇&#xff0c;继续探讨RAG中的查询分析&#xff0c;并在功能层面和代码层面持续改进。 功…...

Java基础面试题,46道Java基础八股文(4.8万字,30+手绘图)

Java是一种广泛使用的编程语言&#xff0c;由Sun Microsystems&#xff08;现为Oracle Corporation的一部分&#xff09;在1995年首次发布。它是一种面向对象的语言&#xff0c;这意味着它支持通过类和对象的概念来构造程序。 Java设计有一个核心理念&#xff1a;“编写一次&am…...

taro小程序马甲包插件

插件名 maloulab/taro-plugins-socksuppet-ci maloulab/taro-plugins-socksuppet-ci安装 yarn add maloulab/taro-plugins-socksuppet-ci or npm i maloulab/taro-plugins-socksuppet-ci插件描述 taro官方是提供了小程序集成插件的tarojs/plugin-mini-ci &#xff0c;且支持…...

【分组去重】.NET开源 ORM 框架 SqlSugar 系列

&#x1f4a5; .NET开源 ORM 框架 SqlSugar 系列 &#x1f389;&#x1f389;&#x1f389; 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列…...

2020年

C D A C B B A B C B A 42...

基于Matlab卡尔曼滤波的GPS/INS集成导航系统研究与实现

随着智能交通和无人驾驶技术的迅猛发展&#xff0c;精确可靠的导航系统已成为提升车辆定位精度与安全性的重要技术。全球定位系统&#xff08;GPS&#xff09;和惯性导航系统&#xff08;INS&#xff09;在导航应用中各具优势&#xff1a;GPS提供全球定位信息&#xff0c;而INS…...

《只狼》运行时提示“mfc140u.dll文件缺失”是什么原因?“找不到mfc140u.dll文件”要怎么解决?教你几招轻松搞定

《只狼》运行时提示“mfc140u.dll文件缺失”的科普与解决方案 作为一名软件开发从业者&#xff0c;在游戏开发和维护过程中&#xff0c;我们经常会遇到各种运行时错误和系统报错。今天&#xff0c;我们就来探讨一下《只狼》这款游戏在运行时提示“mfc140u.dll文件缺失”的原因…...

C语言:指针与数组

一、. 数组名的理解 int arr[5] { 0,1,2,3,4 }; int* p &arr[0]; 在之前我们知道要取一个数组的首元素地址就可以使用&arr[0]&#xff0c;但其实数组名本身就是地址&#xff0c;而且是数组首元素的地址。在下图中我们就通过测试看出&#xff0c;结果确实如此。 可是…...

win11无法检测到其他显示器-NVIDIA

https://www.nvidia.cn/software/nvidia-app/ https://cn.download.nvidia.cn/nvapp/client/11.0.1.163/NVIDIA_app_v11.0.1.163.exe 下载安装后&#xff0c;检测驱动、更新驱动。...

SQLite:DDL(数据定义语言)的基本用法

SQLite&#xff1a;DDL&#xff08;数据定义语言&#xff09;的基本用法 1 主要内容说明2 相关内容说明2.1 创建表格&#xff08;create table&#xff09;2.1.1 SQLite常见的数据类型2.1.1.1 integer&#xff08;整型&#xff09;2.1.1.2 text&#xff08;文本型&#xff09;2…...

AI工具集:一站式1000+人工智能工具导航站

在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的飞速发展催生了众多实用的AI工具&#xff0c;但面对如此多的选择&#xff0c;想要找到适合自己的高质量AI工具却并非易事。网络搜索往往充斥着推广内容&#xff0c;真正有价值的信息被淹没其中。为了解决…...

快速掌握QQ空间历史说说备份:GetQzonehistory完整使用教程

快速掌握QQ空间历史说说备份&#xff1a;GetQzonehistory完整使用教程 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾经担心QQ空间里的珍贵记忆会随着时间流逝而消失&#xff…...

基于扩展卡尔曼滤波器(EKF)的PMSM无位置传感器控制优化策略解析

1. 为什么PMSM需要无位置传感器控制&#xff1f; 永磁同步电机&#xff08;PMSM&#xff09;凭借高功率密度、高效率等优势&#xff0c;在电动汽车、工业伺服等领域广泛应用。但传统控制方案依赖机械位置传感器&#xff08;如编码器、旋转变压器&#xff09;&#xff0c;不仅增…...

2025届毕业生推荐的降重复率神器解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 如果要降低AIGC检测率&#xff0c;那就得着重从文本特征方面着手。首先&#xff0c;词汇多样…...

020驱动模型与sysfs:当你的驱动需要“见人”时

最近在调试一个车载CAN设备时遇到个怪现象&#xff1a;驱动能正常收发数据&#xff0c;但每次系统休眠唤醒后设备就丢了。查了半天发现&#xff0c;原来设备电源管理回调根本没被调用。老张路过我工位瞟了一眼&#xff0c;扔下一句话&#xff1a;“你这驱动没‘上户口’吧&…...

智慧机场三维空间智能中枢系统白皮书——构建“全域感知 × 空间认知 × 智能调度”的下一代机场操作平台

智慧机场三维空间智能中枢系统白皮书——构建“全域感知 空间认知 智能调度”的下一代机场操作平台&#xff08;镜像视界&#xff08;浙江&#xff09;科技有限公司空间计算技术体系支撑&#xff09;一、项目背景&#xff1a;机场正在进入“复杂系统时代”现代机场已从单一交…...

高性能数据库集群

近年来各种存储技术飞速发展&#xff0c;但关系数据库由于其 ACID 的特性和功能强大的 SQL 查询&#xff0c;目前还是各种业务系统中关键和核心的存储系统&#xff0c;很多场景下高性能的设计最核心的部分就是关系数据库的设计。 不管是为了满足业务发展的需要&#xff0c;还是…...

两步修复Win11下conda无法激活问题

Anaconda安装在了D盘&#xff0c;也添加了环境变量&#xff0c;但虚拟环境一直无法激活1.执行策略设置为 RemoteSigned以管理员身份打开WindowsPowershell&#xff0c;然后输入如下代码将当前用户的执行策略设置为 RemoteSigned。Set-ExecutionPolicy -Scope CurrentUser Remot…...

告别死记硬背:用GitHub笔记和实战思维重新理解电路与电子学

告别死记硬背&#xff1a;用GitHub笔记和实战思维重新理解电路与电子学 电路与电子学这门课&#xff0c;常常让计算机专业的学生又爱又恨。爱的是它揭示了计算机硬件底层的奥秘&#xff0c;恨的是那些繁琐的公式和抽象的概念。但问题真的出在课程本身吗&#xff1f;或许我们需…...

基于springboot+vue房屋拆迁管理系统hx0514Z1A1

文章目录详细视频演示技术介绍功能介绍核心代码系统效果图源码获取详细视频演示 文章底部名片&#xff0c;获取项目的完整演示视频&#xff0c;免费解答技术疑问 技术介绍 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomca…...

HOJ部署进阶:绕过宝塔,用Nginx反向代理直接配置Docker服务的域名与HTTPS

HOJ部署进阶&#xff1a;Nginx反向代理直连Docker服务的全手动配置指南 当你在服务器上运行HOJ在线判题系统时&#xff0c;是否厌倦了依赖宝塔面板这类图形化工具&#xff1f;本文将带你深入探索完全通过命令行配置Nginx反向代理和HTTPS的全过程&#xff0c;实现从域名解析到安…...