自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 全栈路线总体规划(1–2年)

很多公司都需要这种人。

2026-03-12 11:55:02 79

原创 如何学习 AG-UI 和 CopilotKit

AG-UI(Agent UI)是一套做前端 UI 的组件库,用来:做聊天界面(Chat UI)用户指令栏(Taskbar)动态卡片 / 流水线(Actions + Results)和 AI 状态同步的控件(Copilot Views)

2025-12-06 18:18:33 1292

原创 commitizen,cz-git,husky 三者区别

目的:让开发者不需要自己思考 commit message 规则。它和 Commitizen、cz-git 完全不是一个类型。✔ 自动对提交做 lint / prettier 格式化。时自动运行 commitlint(验证提交格式)提供好看的 UI,帮助你写规范的 commit。✔ 自动提示填写 commit message。✔ 只有符合规范的 commit 才能提交。✔ 避免垃圾 commit message。✔ 每次 commit 必须使用规范格式。它让“选择题式 commit”更好用。

2025-12-01 15:30:04 695

原创 发送请求模版

【代码】发送请求模版。

2025-10-24 13:12:47 151

原创 高度占满整个屏幕

【代码】高度占满整个屏幕。

2025-10-15 19:33:04 137

原创 ts 的用处

id: number;这样:TS 会提示你少了cover在.map里item.时自动补全字段写错字段(如)会直接报错。

2025-10-12 15:17:10 207

原创 背景图压缩问题解决

不要用 Image,直接用 View 的 背景图。

2025-09-18 15:06:55 141

原创 如何学习 react native 和 Expo

掌握 React Native 核心组件(视图、文本、样式、交互)学会使用 跳转页面学习 Expo 常用模块(如图片、通知、存储)尝试项目开发 + 真机测试(Expo Go)理解 build / 打包流程(EAS Build) 不建议只看 Expo 文档。📘 Expo 官方文档(https://docs.expo.dev):主要讲的是 Expo 特有的内容(如 ImagePicker、AppLoading、Push 通知、expo-router、预构建等)。📘 React Native 官方文档(

2025-08-09 12:01:17 939

原创 react native 常见问题

对比点导航方式栈式压入(前进/返回)标签切换(平级跳转)UI 表现页面滑动进入,有返回按钮底部栏切换,通常无返回按钮常用场景登录页、详情页、操作流程页首页、我的、设置等主模块页面状态页面切换后销毁(默认)页面保留状态(除非配置卸载)组件名功能对应平台原生控件View布局容器iOS:UIView/ Android:ViewGroupText显示文字iOS:UILabel/ Android:TextViewImage图片展示iOS:/ Android:ImageView。

2025-08-05 13:11:21 1070

原创 react native 使用 Expo 的结构模版

Expo 是 React Native 的高效开发套件,让你像开发 Web 应用一样开发 App,不需要配置 Xcode/Android Studio,支持扫码预览、热更新和云构建,是 Web 前端开发 App 的首选入门方式。

2025-08-03 18:48:36 997

原创 react 和 react native 的开发过程区别

开发项React页面跳转表单处理Formik / react-hook-form(自适配 RN)文件上传需使用原生模块(ImagePicker、DocumentPicker)通知权限浏览器原生通知原生模块(如调用摄像头等硬件基本不涉及需使用原生模块(如。

2025-08-02 15:37:48 948

原创 使用 redux 做主题切换

,},},},});“我们系统中采用 Redux 管理全局主题状态,切换主题后会自动通知所有订阅组件刷新样式,组件通过获取 theme 状态,页面统一使用theme-dark类名控制样式变量。同时也支持持久化到 localStorage,下次打开时自动恢复。

2025-07-06 16:38:33 193

原创 企业 OA 系统

OA 系统侧重流程管理和提升办公效率,而ERP 系统则更关注企业运营中的资源统筹与计划管理。维度ERP 系统OA 系统目标管理企业资源,计划与运营管理办公流程,提高沟通效率核心模块财务、库存、采购、销售、生产审批、考勤、公告、文件、日程用户角色财务、采购、销售、生产人员员工、行政、人事、管理者数据类型财务数据、库存数据、业务单据流程数据、文件、审批记录工作特性强业务规则、可量化强流程控制、协同为主。

2025-06-30 15:46:40 649

原创 TypeScript

常用于泛型约束,代表非原始类型的一种类型,不支持 原始类型,支持所有 引用类型。可以理解成 new Object,和第一个一样,原始类型 和 引用类型 都可以。1. top type:顶级类型 any unknown,可以包含下面所以类型。(1)unknown 不可以赋值给别的类型的,只能赋值给自身或者 any。虽然字面量模式可以赋值任意类型,但是赋值之后无法修改。所有原始类型以及对象类型都指向 Object。在 ts 中,Object 表示包含所有类型。生成 package.json。

2025-05-25 14:53:47 531

原创 国内镜像源

再执行一遍 mmp use,可以切换回 npm。下载小满的包 类似于 nrm。

2025-05-25 13:27:20 265

原创 前端项目部署 & 打包上线

如果拿到的项目没有 node_modules,要执行npm i安装所有的依赖。

2025-05-24 13:34:50 873

原创 React 与 TypeScript 极客园移动端

(2)限制 useState 函数的参数必须满足类型为:User | () => User | undefined。(1)限制 useState 函数参数的初始值必须满足类型为:User | () => User。(2)绑定 prop 时如果绑定内联函数直接可以推断出参数类型,否则需要单独注解匹配的参数类型。组件经常执行类型为函数的 prop 实现子传父,这类 prop 重点在于函数参数类型的注解。(2)限制 setUser 函数的参数类型可以是 User | null。

2025-05-22 16:06:20 806

原创 Class 类组件

(2)componentWillUnmount:组件卸载时自动执行 - 清理副作用。(1)componentDidMount:组件挂载完毕自动执行 - 异步数据获取。概念:类组件和 Hooks 编写的组件在组件通信的思想上完全一致。(3)通过 render 来写 UI 模版 (JSX语法一致)(2)子传父:通过 prop 绑定父组件中的函数,子组件调用。类组件就是通过 JS 中的类来阻止组件的代码。(3)兄弟通信:状态提升,通过父组件做桥接。(1)父传子:通过 prop 绑定数据。

2025-05-22 12:44:55 440

原创 zustand

对于异步的支持不需要特殊的操作,直接在函数中编写异步逻辑,最后只需要调用 set 方法传入新状态即可。场景:当单个 store 比较大的时候,可以采用 切片模式 进行模块拆分组合,类似于模块化。

2025-05-22 12:34:19 305

原创 项目制作流程

3. 在 router/index.js 文件中引入组件进行路由配置,导出 router 实例。有些路由页面的内容信息比较敏感,如果用户没有经过登录获取到有效 Token,是没有权限跳转的,实现效果:页面在刷新时可以根据当前的路由路径让对应的左侧菜单高亮显示。(1)redux 中编写获取 Token 的 异步获取和同步修改。(1)菜单参数 Item 中 key 属性换成路由的路由地址。(2)找到菜单组件负责高亮的属性,绑定当前的路由路径。(2)点击菜单时通过 key 获取路由地址跳转。

2025-05-18 16:47:40 2154

原创 英语单词 适配 中文名称

【代码】英语单词 适配 中文名称。

2025-05-16 19:39:00 143

原创 账单统计区域 mobile

2. 点击取消 / 确认按钮以及蒙层区域的都可以关闭弹框。3. 弹框关闭时箭头朝下,打开时箭头朝上。2. 通过切换状态变化实现功能。1. 点击打开时间选择弹框。1. 准备一个状态数据。

2025-05-16 15:09:33 262

原创 antd mobile 点击 TabBar 切换页面

switchRoute 函数,navigate 点击的 path。

2025-05-15 21:05:40 362

原创 git 指令

新建本地 git 仓库,提交到远程 git 仓库里。

2025-05-15 19:35:06 178

原创 antd 主题色定制

antd-mobile 中的主题变量也是在 :root 下声明的,所以在有些情况会由于优先级的问题无法覆盖。通过 :root:root 显式地让你所写内容的优先级更高一些,确保主题变量的成功覆盖。全局文件 theme.css。全局文件 theme.css。整个应用范围内的组件都生效。只在某些元素内部的组件生效。

2025-05-15 19:25:57 456

原创 mock 数据( json-server )

1. 在项目中安装 json-server。2. 准备一个 json 文件。4. 访问接口进行测试。

2025-05-15 17:50:14 418

原创 配置别名路径 @

CRA本身把webpack配置包装到了黑盒里无法直接修改,需要借助一个插件 - craco。

2025-05-15 17:03:21 448

原创 react-router基本写法

1. 创建项目并安装所有依赖2. 安装所有的 react router 包3. 启动项目index.js。

2025-05-14 22:00:34 433

原创 左右联动菜单代码 & 分类标题吸顶效果

id就相当于 HTML 的锚点跳转,Taro 会自动把那个带指定 id 的子元素滚动到可视区域。

2025-05-14 14:00:57 500

原创 react 基本写法

一般思路:(1)编写一个use打头的函数(2)函数内部编写封装的逻辑(3)return 出去组件中用到的状态和方法(4)组件中调用函数解构赋值使用// 封装请求数据的 hookgetList();}, []);return {调用。

2025-05-13 11:04:59 504

原创 Promise 自定义封装

因为 callback 只属于 return 的新 Promise,所以放在 return 里面,既避免污染作用域,又节省内存,还保证每次都是干净独立的 callback。

2025-04-29 01:41:51 383

原创 Promise 基础

【代码】Promise。

2025-04-25 21:37:02 243

原创 antd4 主题色变换

【代码】antd4 主题色变换。

2025-04-25 13:07:51 178

原创 webpack相关配置--react-cli

【代码】webpack相关配置--react-cli。

2025-04-24 22:32:04 229

原创 ESLint报错:eslint.config.mjs

在学习webpack代码分割,按需加载时,ESLint检查import报错,因为ESLint不支持动态导入。通过ESLint解析器。

2025-04-22 23:33:29 428

原创 webpack相关配置--高级

本章节主要介绍 Webpack 高级配置。所谓高级配置其实就是进行 Webpack 优化,让我们代码在编译/运行时性能更好~

2025-04-20 20:06:36 2214

原创 webpack相关配置--初级

webpack 本身只能处理 js、json 等资源,其他资源需要借助 loader,Webpack 才能解析。原因是 Webpack 对 js 处理是有限的,只能编译 js 中 ES 模块化语法,不能编译其他语法。其次开发中,团队对代码格式是有严格要求的,我们不能由肉眼去检测代码格式,需要使用专业的工具来检测。有人可能会问,js 资源 Webpack 不能已经处理了吗,为什么我们还要处理呢?开发中一点点写 rules 规则太费劲了,所以有更好的办法,继承现有的规则。(3) extends 继承。

2025-04-19 21:02:57 1639

原创 axios 封装

但是Fetch的缺点也很明显,首先需要明确的是Fetch是一个 low-level(底层)的API,没有帮助你封装好各种各样的功能和实现;Fetch是AJAX的替换方案,基于Promise设计,很好的进行了关注分离,有很大一批人喜欢使用fetch进行项目开发;比如发送网络请求需要自己来配置Header的Content-Type,不会默认携带cookie等;axios是目前前端使用非常广泛的网络请求库,包括Vue作者也是推荐在vue中使用axios;比如不支持取消一个请求,不能查看一个请求的进度等等;

2025-04-17 21:44:05 369

原创 jwt问题

如果有人对头部以及负载内容解码后进行修改,再进行编码,最后加上之前的签名组合形成新的JWT的话,那么服务器端会判断出新的头部和负载形成的签名和JWT上附带的签名是不一样的。如果要对新的头部和负载进行签名,由于不知道服务器加密时使用的秘钥,得出来的结果也是不一样的。拿到编码后的 header 和 编码后的 payload 使用 密码进行签名。Signature需要使用编码后的header和payload以及我们提供的一个秘钥,然后使用header中指定的签名算法进行签名,签名的作用是保证JWT没有被篡改过。

2025-04-16 22:08:04 275

原创 flex响应式布局

【代码】flex响应式布局。

2025-04-16 14:05:32 423

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除