- 博客(35)
- 收藏
- 关注
原创 Axios
Axios:Promise 驱动的 HTTP 客户端 Axios 是一个基于 Promise 的跨平台 HTTP 客户端,统一了浏览器和 Node.js 的请求处理方式。核心特点包括: 支持 Promise API 和 async/await 自动 JSON 转换与请求取消 提供请求/响应拦截器 支持 XSRF 防护和进度监控 基础使用: 通过 axios.get/post/put/delete 发送请求 GET 参数使用 params,POST 数据直接传递 推荐使用 try/catch 处理异步请求 进
2026-06-29 16:48:06
371
原创 TypeScript
TypeScript 是 JavaScript 的超集,通过静态类型检查增强代码可靠性。其核心机制是将 .ts 文件编译为纯 JavaScript,期间进行类型检查并擦除类型信息。开发时使用 tsc 编译器或构建工具处理,运行时仅执行生成的 .js 文件。基础类型包括 string、number、boolean 等原始类型以及数组类型(如 number[] 或 Array<number>)。TypeScript 通过编译时类型检查提前发现错误,提升开发效率,同时保持与 JavaScript 的兼容性。
2026-05-21 15:19:24
391
原创 react(五)路由
React Router 是 React 官方推荐的路由解决方案,用于实现单页应用(SPA)中的页面导航。它提供两种配置方式:编程式(createBrowserRouter+RouterProvider)适合复杂应用,支持嵌套路由、数据预加载等高级功能;声明式(BrowserRouter+Routes)更简单直观,适合中小型项目。核心功能包括路由匹配、嵌套路由(通过Outlet占位符渲染子路由)和默认子路由(index路由)。安装只需执行npm install react-router-dom,该包已内置T
2026-04-28 15:56:55
520
原创 react(四)
useReducer 是用于管理复杂状态逻辑的 React Hook,适用于状态依赖复杂或结构复杂的场景。useContext 解决了组件间数据传递问题。useMemo 用于缓存计算结果,通过依赖数组控制重新计算,优化性能。React.memo 可防止子组件不必要的重渲染。useCallback 则缓存函数引用,常与 React.memo 配合使用,避免因函数引用变化导致的子组件重渲染。这些 Hook 共同提升 React 应用的性能和代码可维护性。
2026-04-15 17:00:44
472
原创 react(三)action 表单
React 19 表单处理新特性:React 19 引入了更简洁的表单处理方式,通过 action 属性直接绑定异步函数,自动管理提交状态和表单重置。相比传统方式(手动管理状态、加载和错误),新特性显著减少样板代码。使用 useActionState Hook 可集中管理表单状态,支持自动和手动重置(通过 requestFormReset API)。这些改进使表单开发更高效,尤其适合异步提交场景。
2026-04-08 11:41:34
433
原创 react(二)useEffect 和 useRef
React Hooks 核心用法解析:useEffect 和 useRef useEffect 是 React 用于管理副作用的 Hook,它能够: 分离副作用逻辑与渲染逻辑 模拟类组件的生命周期方法 通过依赖数组控制执行时机 提供清理机制防止内存泄漏 useRef 则用于: 直接访问和操作 DOM 元素 存储不会触发重新渲染的可变值 保持对某些值的持久引用 两者配合使用可以解决 React 函数组件中的状态管理、DOM 操作和副作用控制等核心问题。
2026-03-31 14:05:40
423
原创 react(一)
本文介绍了React核心思想和JSX语法要点。React采用声明式编程,通过状态驱动视图更新(UI = f(State))。JSX是JavaScript语法扩展,用于描述UI结构,需编译成React.createElement调用。重点包括:JSX必须闭合标签、使用className替代class、通过{}嵌入JavaScript表达式、样式使用驼峰命名对象等。还详细讲解了使用Vite搭建React项目的步骤和关键文件结构,包括package.json、vite.config.ts等配置文件的用途。最后展示
2026-03-25 17:16:10
416
原创 前端面试题(vue)
Vue2和Vue3响应式原理区别:Vue2使用Object.defineProperty,需遍历对象属性实现响应式,但无法监听数组变化和对象新增属性;Vue3改用Proxy代理整个对象,支持所有操作且性能更优。v-if和v-show区别:v-if是条件渲染,会触发组件生命周期;v-show仅切换CSS显示。computed和watch区别:computed依赖缓存适合计算衍生值,watch适合监听变化执行异步操作。组件通信方式包括props/emits、v-model、provide/inject、Pini
2026-03-12 13:46:12
518
原创 8. C语言指针
本文介绍了C语言中指针的基本概念和使用方法。指针是存储内存地址的变量,通过取地址运算符&获取变量地址,用解引用运算符*访问或修改指针指向的值。指针可作为函数参数实现传址调用,或在函数中返回指针(需注意避免返回局部变量地址)。文章还讲解了指针运算规则,包括加减整数时的步长计算(取决于数据类型大小)以及两个指针相减得到元素间隔数。最后指出指针乘除法没有实际意义,因为会导致地址计算错误。
2026-01-27 10:23:37
711
原创 7. C语言数组
本文介绍了C语言中数组的基本概念和使用方法。数组是一种存储相同类型数据的容器,具有连续的内存空间和固定长度。文章详细讲解了数组的定义、初始化方法,以及如何通过索引访问和修改元素。同时阐述了数组在内存中的存储方式,包括内存地址的概念和计算方法。此外,还指出了数组作为函数参数时的注意事项,强调传递的是首元素地址而非整个数组。最后提醒读者注意数组索引越界问题,建议在使用时自行检查索引有效性。文章配有内存示意图和代码示例,帮助理解数组的工作原理。
2026-01-13 17:13:56
1058
原创 6. C语言函数
本文介绍了C语言中函数的基本概念和使用方法。主要内容包括:1) 函数的定义和作用,如代码复用、模块化和提高可读性;2) 函数定义的基本格式、调用方式及返回值处理;3) 函数声明与调用的顺序问题;4) 形参与实参的区别及值传递特性;5) 使用函数的注意事项;6) C语言标准库函数的介绍及示例,如数学函数、字符串处理函数和时间函数等。文章通过具体代码示例帮助理解函数的使用场景和规范。
2026-01-06 09:26:27
778
原创 5.C语言流程控制语句
本文介绍了C语言中的流程控制语句,包括顺序结构、选择结构和循环结构。重点讲解了选择结构中的if语句系列(单分支、双分支和多分支)和switch语句的使用方法。if语句通过条件判断执行不同代码块,switch语句则适用于多分支选择,支持case穿透特性。文章还详细说明了break、default等关键字的用法,并提供了多个代码示例演示不同控制结构的实际应用场景。这些流程控制语句是编程中实现逻辑判断和分支执行的基础工具。
2025-12-30 16:18:47
808
原创 3. C语言核心语法2
本文介绍了C语言的基本数据类型,包括整型、浮点型和字符型。整型用于存储整数,分为short、int、long和long long,可通过signed和unsigned修饰符号属性;浮点型用于存储小数,包括float、double和long double,具有不同的精度和取值范围;字符型(char)用于存储单个字符,占用1字节空间,对应ASCII码值。文章还解释了计算机存储的基本单位(bit和Byte)及其换算关系,并通过代码示例展示了各数据类型的声明方式、格式说明符和内存占用情况。特别指出浮点数不能使用un
2025-12-11 16:00:52
1042
原创 2. C语言核心语法
本文介绍了C语言编程中的基础概念: 注释:解释代码的说明文字,包括单行(//)和多行(/* */)注释,用于提高代码可读性 关键字:C语言中具有特殊含义的保留字,不能用作变量名 常量:程序运行中不变的量,包括整型、实型、字符型和字符串常量 变量:存储数据的容器,需先声明后使用,可以重新赋值。介绍了变量命名规则、基本数据类型和赋值使用方法 printf输出:详细说明了格式说明符(%d,%f等)的用法和常见转义字符 文章还提供了代码示例和常见注意事项,帮助初学者掌握C语言基础语法。
2025-12-05 17:55:54
1158
原创 1. 初识C语言
C语言是一种高效的过程式编程语言,由Dennis Ritchie于1972年开发,主要用于系统编程和嵌入式开发。其特点包括直接硬件操作能力、高性能执行效率,但也需要手动管理内存。第一个C程序通常以"Hello World"为例,包含预处理指令#include <stdio.h>和主函数main()。代码通过编译器处理经历预处理、编译、汇编、链接四个阶段最终生成可执行文件。
2025-12-04 11:02:17
1008
原创 记一次bug:当接口状态200,但返回的是 index.html
本文介绍了解决接口代理问题的排查过程。首先确认接口本身无问题后,发现返回304状态码表明缓存问题,尝试在vite.config.js中禁用缓存未果。随后在浏览器中直接禁用缓存,虽然返回200状态码,但内容仍是index.html,说明代理未生效。最终发现是proxy配置字段错误导致代理失败,修正后问题解决。整个过程展示了从缓存问题排查到代理配置修正的完整思路。
2025-11-28 17:40:33
318
原创 Vue3(9)——Pinia(状态管理)
Store是用 defineStore() 定义的。store的唯一ID(必填)- 用于DevTools和插件识别配置对象(可选)- 包含state、getters、actions。
2025-11-17 16:25:42
1400
5
原创 vite.config.js获取环境变量
在Vite项目中,import.meta.env无法在vite.config.js中使用,因为该文件运行在Node环境而非浏览器环境。解决方案是使用loadEnv函数加载环境变量:通过defineConfig回调的mode参数和process.cwd()定位.env文件路径,然后通过返回的env对象访问变量,如env.VITE_API_BASE_URL。注意变量需以VITE_为前缀,修改配置后需重启服务生效,且.env文件格式要正确(等号无空格,值无需引号)。
2025-11-06 15:21:27
545
原创 Sass的使用
Sass是一种CSS预处理器,提供变量、嵌套规则、混合(mixins)、函数等功能,使CSS更具可维护性。本文介绍了Sass的基本用法:1)安装方式;2)变量定义和使用($符号);3)变量作用域和!global全局声明;4)嵌套规则简化代码结构;5)@import导入其他文件;6)@mixin定义可重用样式块,@include调用;7)@extend实现样式继承;8)在Vue中的使用方法,包括单文件组件中的lang="scss"和全局配置。Sass使CSS开发更高效,支持参数传递、默认值
2025-10-30 17:33:38
714
原创 日期组件(不含年份)
Vue3月份日期选择组件实现 这是一个不含年份的月份日期选择组件,主要功能包括: 动态显示所选月份对应的天数(自动计算闰年2月29天) 选择日期后自动关闭弹窗 提供清除按钮功能 支持禁用状态 响应式监听值变化 组件采用双列布局,左侧选择月份,右侧显示对应日数。通过计算属性动态计算月份天数,并处理边界情况(如选择31日后切换至小月份时自动调整日期)。组件支持v-model双向绑定,格式为MM-DD
2025-10-20 14:01:47
784
原创 Vue3(5)——computed
摘要: Vue3的computed属性用于声明式定义依赖其他数据的计算属性,具有缓存机制。其原理基于Proxy的依赖追踪,通过dirty标志控制重新计算时机。使用时可拆分复杂逻辑为多个计算属性,或通过getter/setter创建可写计算属性。开发时可用onTrack/onTrigger调试,结合watch处理副作用。注意事项:避免异步操作和副作用,不在getter中修改原始数据,不可直接修改只读计算属性。
2025-09-23 15:50:31
772
原创 Vue3(4)——watch
支持监听单个 ref、多个 ref、getter 函数和响应式对象通过配置选项控制监听行为(深度监听、立即执行等)在表单验证、API请求、路由变化等场景非常实用避免过度使用 deep 选项和无限循环记得在组件卸载时停止不需要的监听器。
2025-09-22 16:22:04
1259
2
原创 Vue3(3)——attribute
透传 Attribute(Attributes 继承):是组件通信的重要机制,当父组件向子组件传递属性或事件监听器时,如果这些属性或事件监听器没有被子组件显式声明为 props或 emits,它们会被视为“透传 Attribute”(Fallthrough Attributes),Vue 会自动应用到子组件的根元素上。核心概念:未被声明为 props 的属性:父组件传递的属性(如 class、style、id、自定义属性如 data-*等)如果未在子组件的 props中声明,则会被视为透传属性。
2025-09-17 16:44:25
1065
原创 vue3(1)——main.js、模板语法
main.js是Vue的入口文件,负责初始化Vue实例并挂载应用到HTML页面。使用双大括号(Mustache 语法),双大括号里面内容会被替换为相应组件实例中。使用 v-html指令,将一段HTML代码渲染到元素。值为字符串或null,null表示显示移除该绑定。如要传给复杂的动态参数,推荐使用计算属性。开头的Attribute中使用。属性改变时它也会实时更新。
2025-09-15 16:26:20
607
原创 vue3(2)——setup(),响应式API
本文介绍了Vue3的组合式API(Composition API)的核心概念和使用方法。主要内容包括: 组合式API通过setup函数或<script setup>语法糖组织代码,相比选项式API更灵活 响应式状态声明: ref()用于创建任何类型的响应式数据,需通过.value访问 reactive()专用于对象类型,直接访问属性即可 模板使用注意事项: ref在模板中自动解包,但嵌套对象需手动解包 reactive对象可直接修改属性,但要避免重新赋值 组合式API使组件逻辑更模块化,特别适合
2025-09-15 16:25:02
1111
原创 vscode更换代码颜色
按快捷键ctrl+shift+p,输入 Developer: Inspect Editor Tokens and Scopes。点击你想了解的代码scope上,就会出现该代码的标记作用域信息。vscode主题为“深色高对比度”,将要修改一下两个部分。同理,如果需要修改别的代码颜色,可根据上面操作进行修改。的值修改为“all”。想了解其他的值,可以在设置里搜索。接下来,打开“setting.json”,输入以下内容。打开“setting.json”,输入以下内容。竖线就会变成灰色的点,如果不想要点,就把。
2025-09-10 15:03:13
2699
原创 记一次找bug
摘要:项目运行时出现Modal组件报错,提示缺少"name"属性。排查发现本地环境与测试环境不一致,最终发现是main.js同时引入了iview和vue-js-modal两个UI库,且后者在iview之后注册,导致浏览器错误解析了组件库。删除冗余依赖后问题解决。整个过程体现了从表象到根源的排查思路,虽然问题简单但排查过程充满挑战。
2025-09-02 14:29:59
477
原创 npm版本冲突解决方法
2. 使用 .npmrc 文件 是 npm 的运行时配置文件,用于定义 npm 在运行时的各项参数设置。使用方法:在根目录下新建文件,在文件中输入:保存后运行:适用于多人开发,安装依赖时,不会显示报错。
2025-08-14 14:47:38
356
原创 git本地关联远程仓库
本文提供了将本地Git项目关联到远程仓库的简明指南。首先需初始化本地仓库(如未初始化),然后通过git remote add关联远程仓库地址。接着分三步推送代码:添加文件到暂存区、本地提交、首次推送并设置上游分支。针对常见问题给出解决方案,包括远程仓库已有文件时的处理方法、修改错误远程地址的步骤,以及权限错误的排查建议。最后说明后续只需常规的add-commit-push流程即可完成推送。文中包含具体命令行示例,帮助开发者快速完成本地项目与远程仓库的关联操作。
2025-07-30 15:59:25
681
原创 gitee ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to
摘要: 新建Gitee仓库首次推送失败时,可尝试两种强制推送方案: 安全覆盖:git push --force-with-lease origin master(保留被覆盖提交的引用) 强制覆盖:git push -u origin master -f(会永久删除远程未合并的提交,仅限空白仓库使用) ⚠️ 风险提示:强制推送将不可逆删除远程分支差异提交,团队协作中可能导致他人工作丢失,需谨慎使用!
2025-07-22 10:08:44
434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅