joken-前端工程师

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
  404 随笔 :: 39 文章 :: 8 评论 :: 20万 阅读
上一页 1 2 3 4 5 6 ··· 12 下一页

2025年2月26日

摘要: /** * 多级排序函数 * @param {Array} arr - 需要排序的数组 * @param {Array} sortRules - 排序规则数组 * @returns {Array} - 排序后的数组 */ function multiLevelSort(arr, sortRules) 阅读全文
posted @ 2025-02-26 20:38 joken1310 阅读(7) 评论(0) 推荐(0) 编辑

2025年2月25日

摘要: 使用 uni-app 和 HBuilderX 开发快应用,并通过快应用联盟开发工具进行调试的步骤如下。这些步骤将帮助你从创建项目到调试快应用的全过程,简单明了且实用。 首先,确保你已经安装了最新版本的 HBuilderX,因为它是 uni-app 的主要开发工具。下载地址可以在 DCloud 官网找 阅读全文
posted @ 2025-02-25 21:49 joken1310 阅读(22) 评论(0) 推荐(0) 编辑

摘要: 1. 如何调用高德地图 API(JavaScript) 准备工作:在高德开放平台注册,获取 Key 和安全密钥。 基本代码:<div id="container" style="width: 100%; height: 500px;"></div> <script> window._AMapSecu 阅读全文
posted @ 2025-02-25 21:44 joken1310 阅读(72) 评论(0) 推荐(0) 编辑

摘要: 在 React 18 中,组件的挂载(mount)和卸载(unmount)逻辑主要通过 useEffect Hook 实现。以下是总结 React 18 中触发挂载和卸载的方式,以及相关要点: 1. 挂载(Mount)触发方式 挂载是指组件首次被渲染到 DOM 中。React 使用 useEffec 阅读全文
posted @ 2025-02-25 21:35 joken1310 阅读(24) 评论(0) 推荐(0) 编辑

摘要: x-data-spreadsheet 在 Vue 3 中的用法 1. 安装与引入 安装:npm install x-data-spreadsheet 引入:<script setup> import Spreadsheet from 'x-data-spreadsheet'; import 'x-d 阅读全文
posted @ 2025-02-25 21:07 joken1310 阅读(41) 评论(0) 推荐(0) 编辑

摘要: 在 JavaScript 中,将数字转换为类似 Excel 列的字母(如 1 -> A, 2 -> B, ..., 26 -> Z, 27 -> AA 等)需要实现一个进制转换的逻辑。Excel 列的字母本质上是一个 26 进制的表示方式,但没有“0”,从 1 开始计数。以下是实现这个转换的几种方法 阅读全文
posted @ 2025-02-25 20:54 joken1310 阅读(7) 评论(0) 推荐(0) 编辑

摘要: 在 JavaScript 中,如果你想监听某个具有特定 class 的元素是否加载完成,可以根据具体场景使用不同的方法。以下是几种常见的实现方式,具体取决于你说的“加载”是指 DOM 元素出现在页面上,还是指某些资源(如图片)加载完成: 方法 1:使用 MutationObserver 监听 DOM 阅读全文
posted @ 2025-02-25 20:52 joken1310 阅读(22) 评论(0) 推荐(0) 编辑

2025年2月23日

摘要: 在 React 项目中使用 @reduxjs/toolkit 可以极大简化 Redux 的使用流程,提高代码的可维护性和开发效率。以下是一个简单的步骤指南,帮助你在 React 项目中集成和使用 @reduxjs/toolkit: 1. 安装依赖 首先,确保你的 React 项目已经创建好(比如通过 阅读全文
posted @ 2025-02-23 14:34 joken1310 阅读(26) 评论(0) 推荐(0) 编辑

摘要: React Router 是 React 生态中用于管理路由的流行库,尤其在版本 6(React Router v6)中,提供了多个功能强大的 Hooks 来帮助开发者处理路由相关的逻辑。以下是 React Router v6 中常用的 Hooks,附带详细说明和典型用法: 1. useNaviga 阅读全文
posted @ 2025-02-23 14:25 joken1310 阅读(15) 评论(0) 推荐(0) 编辑

摘要: 在 React 18 中使用 Redux 的基本步骤和以前的版本差别不大,但 React 18 引入了一些新的特性(比如并发渲染),可能会影响你在使用 Redux 时的实现方式。以下是一个简洁的指南,展示如何在 React 18 中结合 Redux 来管理状态: 1. 安装必要的依赖 首先,你需要安 阅读全文
posted @ 2025-02-23 14:15 joken1310 阅读(22) 评论(0) 推荐(0) 编辑

摘要: MyBatis 是一个轻量级的持久化框架(ORM 工具),在 Spring Boot 中也可以很好地用来操作 MySQL 等数据库。相比 Spring Data JPA,MyBatis 的特点是更灵活,你可以手动控制 SQL 语句,而不是完全依赖自动生成的查询。它通过映射文件(XML)或注解将 Ja 阅读全文
posted @ 2025-02-23 13:58 joken1310 阅读(15) 评论(0) 推荐(0) 编辑

摘要: Spring Data JPA 是 Spring 生态中一个强大的工具,它让开发者可以用更简单、面向对象的方式操作数据库(比如 MySQL),尤其是实现 CRUD(创建、读取、更新、删除)操作。它建立在 JPA(Java Persistence API)之上,默认使用 Hibernate 作为底层实 阅读全文
posted @ 2025-02-23 13:52 joken1310 阅读(10) 评论(0) 推荐(0) 编辑

摘要: 在 MySQL 中,JOIN ... ON 是用于多表查询的关键语法,通过指定表之间的关联条件,将多个表的数据组合起来。结合你之前提到的 RBAC 和权限管理场景,我会详细解释 JOIN ... ON 的用法,并以查询用户权限为例展示如何应用。 JOIN ... ON 基本概念 JOIN:用于连接多 阅读全文
posted @ 2025-02-23 13:43 joken1310 阅读(15) 评论(0) 推荐(0) 编辑

摘要: RBAC(Role-Based Access Control,基于角色的访问控制)是一种广泛应用于权限管理的模型,特别是在后台系统或企业级应用中。它的核心思想是通过“角色”来桥接用户和权限,从而实现灵活、高效的权限分配和管理。以下是对 RBAC 的详细解释,以及结合 MySQL 如何实现它的具体方案 阅读全文
posted @ 2025-02-23 13:37 joken1310 阅读(25) 评论(0) 推荐(0) 编辑

2025年2月22日

摘要: 在 Java 中,常见的数据结构主要由 Java Collections Framework(JCF) 提供,它是 Java 标准库的一部分,位于 java.util 包中。以下是常见的几种数据结构及其对应的 API,以及它们的主要特点和使用场景: 1. List(列表) 特点:有序、可重复的元素集 阅读全文
posted @ 2025-02-22 22:01 joken1310 阅读(9) 评论(0) 推荐(0) 编辑

摘要: 以下是对 Spring Boot 项目目录结构及分层(包含 DAO 和 DTO)的简洁总结,重新整理后更清晰明了: 1. 典型 Spring Boot 项目目录结构 my-spring-boot-project/ ├── src/ │ ├── main/ │ │ ├── java/com/examp 阅读全文
posted @ 2025-02-22 21:57 joken1310 阅读(23) 评论(0) 推荐(0) 编辑

摘要: 1. 什么是 DTO 定义:DTO 是一种设计模式,用于在不同层(如 Controller、Service)或不同系统(如微服务之间)之间传输数据的对象。 特点: 通常只包含数据(属性)和简单的 getter/setter,不包含业务逻辑。 与数据库实体(Entity)或领域对象(Domain Ob 阅读全文
posted @ 2025-02-22 21:52 joken1310 阅读(36) 评论(0) 推荐(0) 编辑

摘要: 以下是基于 Spring Cloud Eureka 将 Controller 层、Service 层 和 DAO 层 剥离为独立微服务的方法总结。整个过程通过服务注册与发现实现层与层之间的动态通信调用。 1. 总体思路 目标:将传统单体应用的三层结构(Controller、Service、DAO)拆 阅读全文
posted @ 2025-02-22 21:44 joken1310 阅读(12) 评论(0) 推荐(0) 编辑

摘要: 1. 什么是 Spring Cloud Eureka 作用: 服务注册:微服务启动时将自身信息(IP、端口、服务名等)注册到 Eureka Server。 服务发现:客户端(包括网关或其他服务)可以从 Eureka Server 获取服务实例的地址,动态调用服务。 核心组件: Eureka Serv 阅读全文
posted @ 2025-02-22 21:38 joken1310 阅读(16) 评论(0) 推荐(0) 编辑

摘要: 什么是自动批处理? 自动批处理是 React 18 引入的一项性能优化特性。它指的是 React 会自动将多个状态更新(setState 调用)合并为一次重新渲染,而不是每次状态更新都单独触发一次渲染。这种优化减少了不必要的 DOM 操作,提升了应用的性能。 关键点: 批处理(Batching):将 阅读全文
posted @ 2025-02-22 21:10 joken1310 阅读(27) 评论(0) 推荐(0) 编辑

摘要: React 18 引入了许多新特性,为性能优化提供了更多可能性,同时保留了之前版本的优化手段。以下是 React 18 中常见的性能优化方式,涵盖新特性、现有工具以及最佳实践。我会详细讲解每种方法,并提供适用场景和示例代码。 一、React 18 新特性带来的性能优化 1. 并发渲染(Concurr 阅读全文
posted @ 2025-02-22 21:05 joken1310 阅读(13) 评论(0) 推荐(0) 编辑

摘要: 什么是 Suspense? Suspense 是 React 中用于“暂停”渲染的工具,允许你在组件等待某些异步资源(比如动态加载的组件或数据)时,显示一个备用的 UI(称为 fallback)。React 18 增强了 Suspense 的功能,特别是对服务端渲染和并发渲染的支持。 核心作用:处理 阅读全文
posted @ 2025-02-22 20:59 joken1310 阅读(27) 评论(0) 推荐(0) 编辑

摘要: 什么是 useTransition? useTransition 是一个 Hook,用于标记某些状态更新为“过渡”(Transition),告诉 React 这些更新不是紧急的,可以延迟执行。这样 React 可以优先处理高优先级的任务(比如用户输入),避免界面卡顿。 返回值:一个数组 [isPen 阅读全文
posted @ 2025-02-22 20:56 joken1310 阅读(20) 评论(0) 推荐(0) 编辑

摘要: React 18 常见面试题及解答 1. React 18 带来了哪些主要的新特性? 回答: React 18 引入了几个重要特性: 并发渲染(Concurrent Rendering):通过时间切片(Time Slicing)和优先级调度,优化了渲染性能,用户交互更流畅。 新的根 API(Root 阅读全文
posted @ 2025-02-22 20:53 joken1310 阅读(38) 评论(0) 推荐(0) 编辑

摘要: 在 Vue 3 中使用 TSX(TypeScript + JSX)时,情况与 React 有所不同。Vue 3 的 TSX 支持允许你在组件中以 JSX 的方式编写模板,但其样式处理的机制与 React 的内联样式或 CSS-in-JS 有所区别。Vue 3 的 TSX 本身并没有像 React 那 阅读全文
posted @ 2025-02-22 18:46 joken1310 阅读(66) 评论(0) 推荐(0) 编辑

摘要: 在 TSX(TypeScript + JSX)中,你可以直接在组件中定义样式,主要有以下几种方式。这些方式利用了 React 的特性,并结合 TypeScript 的类型系统来确保类型安全。以下是详细说明和示例: 1. 内联样式(使用 style 属性) React 支持通过 style 属性直接为 阅读全文
posted @ 2025-02-22 18:44 joken1310 阅读(39) 评论(0) 推荐(0) 编辑

摘要: 在 React 中使用 TypeScript 时,除了 React.FC(FunctionComponent)之外,还有许多常用的类型和接口可以帮助开发者更好地定义组件、事件、状态等。这些类型主要来自 @types/react 和 @types/react-dom 包。以下是 React 中常用的一 阅读全文
posted @ 2025-02-22 18:41 joken1310 阅读(14) 评论(0) 推荐(0) 编辑

摘要: 在 JavaScript 中,为了在某个条件下停止循环遍历,有多种实现方式,每种方法适用于不同的场景。以下是总结的常见方法及其特点、用法和适用场景: 1. 使用 for 循环 + break 描述 传统的 for 循环通过 break 语句在满足条件时立即跳出循环。 示例 const arr = [ 阅读全文
posted @ 2025-02-22 18:37 joken1310 阅读(11) 评论(0) 推荐(0) 编辑

摘要: 在 React 中,useImperativeHandle 的设计初衷并不是直接暴露原始数据(如 state 的值),而是用来定制通过 ref 暴露给外部的接口。通常情况下,它确实更常用于暴露函数(例如 getter 或 setter),但这并不意味着你不能通过它间接暴露数据。关键在于,useImp 阅读全文
posted @ 2025-02-22 18:32 joken1310 阅读(10) 评论(0) 推荐(0) 编辑

摘要: 在 React 18 中,如果你想将某个组件的 state 暴露给外部组件调用,通常可以通过以下几种方式实现。这种需求常见于父组件需要直接访问子组件的内部状态,或者子组件需要向外部提供某种可控的接口。以下是具体的实现方法: 方法 1:通过 ref 和 useImperativeHandle Reac 阅读全文
posted @ 2025-02-22 18:30 joken1310 阅读(13) 评论(0) 推荐(0) 编辑

摘要: 在 JavaScript 中,判断一个值是否是数字(包括 0)时,需要特别注意,因为像 isNaN() 或简单类型检查可能会因为类型转换或边界情况导致结果不准确。以下是几种正确判断包括 0 在内的数字的方法,以及它们的适用场景。 方法 1:结合 typeof 和 isNaN 使用 typeof 检查 阅读全文
posted @ 2025-02-22 18:27 joken1310 阅读(34) 评论(0) 推荐(0) 编辑

摘要: 我将为你详细讲解如何在 Vite 项目中使用 Ant Design UI(简称 Antd),并结合 React 18 提供完整示例。Vite 是一个现代化的前端构建工具,相比 Create React App,它启动更快、支持按需加载更简单,非常适合搭配 Antd 开发高效的 React 应用。 1 阅读全文
posted @ 2025-02-22 18:22 joken1310 阅读(66) 评论(0) 推荐(0) 编辑

摘要: 以下是 React 同层级比较算法(即 Diff 算法中“只比较同级”的部分)的简洁总结,涵盖其核心原理、规则和关键点: React 同层级比较算法总结 定义 React 的 Diff 算法通过只比较同层级节点的方式,高效对比新旧虚拟 DOM(VDOM)树,找出变化部分并更新真实 DOM。这是 Fi 阅读全文
posted @ 2025-02-22 18:15 joken1310 阅读(12) 评论(0) 推荐(0) 编辑

摘要: 我来通过具体示例和场景,讲解 Fiber 架构 在 React 中的好处,帮助你直观理解它的优势。Fiber 架构是 React 16 引入并在 React 18 中进一步优化的核心机制,主要好处包括可中断渲染、优先级调度、支持并发特性和提升复杂应用的性能。以下是详细举例: 1. 可中断渲染:避免阻 阅读全文
posted @ 2025-02-22 18:13 joken1310 阅读(15) 评论(0) 推荐(0) 编辑

摘要: React 18 的 Diff 算法(也称为 Reconciliation 算法)是 React 核心机制的一部分,用于高效比较新旧虚拟 DOM(VDOM),找出变化部分并更新真实 DOM。下面我将详细讲解其原理,包括核心思想、步骤、优化策略以及 React 18 中的改进。 1. Diff 算法的 阅读全文
posted @ 2025-02-22 18:07 joken1310 阅读(17) 评论(0) 推荐(0) 编辑

摘要: 以下是 useEffect 原理的简洁总结,涵盖其核心机制和工作流程: useEffect 原理总结 定义 useEffect 是 React Hooks 提供的副作用处理工具,用于在函数组件中执行渲染后的操作(如数据获取、订阅事件),替代类组件的生命周期方法。 核心原理 副作用调度: 将副作用逻辑 阅读全文
posted @ 2025-02-22 18:03 joken1310 阅读(15) 评论(0) 推荐(0) 编辑

摘要: 以下是 Object.is() 原理的总结,涵盖其核心机制、比较规则以及与内存引用地址的关系: Object.is() 原理总结 定义 Object.is(value1, value2) 是 JavaScript ES6 引入的静态方法,用于比较两个值是否“相同”,基于 SameValue 算法 返 阅读全文
posted @ 2025-02-22 17:57 joken1310 阅读(8) 评论(0) 推荐(0) 编辑

2025年2月18日

摘要: npx 是一个随 npm(版本 5.2.0 及以上)一起安装的工具,它的主要作用是执行 npm 包中的二进制文件。换句话说,npx 允许你在不全局安装某个包的情况下,直接运行该包提供的命令行工具。 以下是 npx 的主要功能和使用场景: 1. 执行本地安装的包 如果你通过 npm install < 阅读全文
posted @ 2025-02-18 21:17 joken1310 阅读(23) 评论(0) 推荐(0) 编辑

摘要: 解决方式: yarn config set strict-ssl false 阅读全文
posted @ 2025-02-18 21:11 joken1310 阅读(12) 评论(0) 推荐(0) 编辑

摘要: 在 TSX 或 JSX 中,组件名必须以大写字母开头。这是 JSX 的语法规则之一,也是 React 和 Vue 3 TSX 写法中的一条重要约定。 原因:区分 HTML 标签和自定义组件 在 JSX/TSX 中,小写字母开头的标签会被解析为 HTML 元素(如 <div>、<span> 等),而大 阅读全文
posted @ 2025-02-18 20:49 joken1310 阅读(8) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 12 下一页
点击右上角即可分享
微信分享提示