上一页 1 2 3 4 5 6 7 8 ··· 19 下一页
摘要: NaN 是 JavaScript 中的特殊值,表示"Not-a-Number",通常用于表示数学运算中未定义或无法表示的结果。 它是一种特殊的数字值,但与其他数字不同,NaN 本身是一个数值,可以用来进行比较和判断。 NaN 与任何值相加都会得到NaN NaN 与任何值都不相等,包括他本身 NaN 阅读全文 »
posted @ 2024-06-24 22:17 龙陌 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 在 TypeScript 中,如果你想要从一个复杂的类型(比如 TableRowSelection)中仅选取特定的属性(如 onChange 和 onSelect),你可以使用 Pick 工具类型来完成这个任务。 首先,确保你已经定义了或者导入了 TableRowSelection 类型,并且知道它 阅读全文 »
posted @ 2024-06-24 18:46 龙陌 阅读(59) 评论(0) 推荐(0) 编辑
摘要: node: protocol is available as of Node.js 14.18.0 LTS. Since we are dropping support for all Node.js versions below that, we can takeadvantage of this 阅读全文 »
posted @ 2024-06-21 23:32 龙陌 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 这段命令是用于在Node.js项目中安装React 17版本的一个指定操作,具体各部分含义如下: npm i 或 npm install:这是用于在Node.js项目中安装包的命令,会根据package.json文件中的dependencies或devDependencies安装所有依赖,如果没有指 阅读全文 »
posted @ 2024-06-17 14:11 龙陌 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 在React中,修改state中的对象数组中的某个对象属性时,最佳实践是先拷贝再修改,然后再设置state。这样做是为了遵守React的状态更新应该是幂等的原则,即多次执行相同的操作应该得到相同的结果,并且避免直接修改state导致的不可预期的行为和潜在的bug。 具体步骤如下: 拷贝:首先,你需要 阅读全文 »
posted @ 2024-06-17 10:53 龙陌 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 使用WebSocket时,通常的做法是只建立一个WebSocket连接,通过这个连接来获取和发送所有相关数据。 WebSocket协议本身就是为了实现双向通信而设计的,它提供了一种长期持久的连接,允许服务器主动向客户端推送数据。 如果为每条数据都创建一个新的WebSocket连接,不仅会浪费资源(比 阅读全文 »
posted @ 2024-06-17 09:54 龙陌 阅读(147) 评论(0) 推荐(0) 编辑
摘要: >>> 是JavaScript中的无符号右移位运算符。它将操作数的所有位向右移动指定位数,丢弃被移出的位,并在左侧填充零。特别地,>>> 0 是一个常用的技巧,用于确保任何数字(包括负数)都被转换为无符号的32位整数。这意味着结果总是非负的,并且范围在0到2^32-1之间。 具体解释 符号位处理:在 阅读全文 »
posted @ 2024-06-06 11:19 龙陌 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 在React中,虽然发布订阅模式(Pub/Sub)可以作为一种实现跨多层级组件间通信的方法,但它并不是React官方推荐的主要手段,尤其是在React Hooks和Context API普及之后。 React推荐的跨组件通信方法主要包括: Props drilling:最直接的方式,通过props从 阅读全文 »
posted @ 2024-06-06 11:18 龙陌 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 在JavaScript中,使用addEventListener方法向元素添加事件监听器时,如果有多个相同的事件名称(比如多次调用addEventListener("click", function)),这些监听器不会互相覆盖,而是会累加。 这意味着所有为同一事件类型注册的监听器都会按照添加的顺序依次 阅读全文 »
posted @ 2024-06-05 14:39 龙陌 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 在JavaScript中,对于私有方法的命名,尽管语言本身并不强制任何命名规范,但有一些广泛接受的约定来表明方法或属性的私有性。 这些约定主要是为了提高代码的可读性和维护性,让其他开发者能够快速识别出哪些方法或属性是设计为内部使用的。以下是几种常见的私有方法命名约定: 下划线前缀 (_methodN 阅读全文 »
posted @ 2024-06-05 13:36 龙陌 阅读(60) 评论(0) 推荐(0) 编辑
摘要: Yarn本身并没有直接提供一个命令来查看node_modules中的某个依赖包是由package.json中的哪个包直接或间接引入的。 但是,你可以通过一些间接的方式来获取这些信息: 手动检查: 打开node_modules中你想查询的依赖包的package.json文件,查看它的name字段确认包 阅读全文 »
posted @ 2024-06-05 13:35 龙陌 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 这段代码的作用是获取当前文件所在目录下的plopfile.js文件的绝对路径。这里是逐步解释: import.meta.url: 这是ES Modules中的一个元属性,它提供了当前模块的绝对URL。 在Node.js环境中,当你在一个模块文件中访问import.meta.url时,它会返回该模块文 阅读全文 »
posted @ 2024-05-31 17:09 龙陌 阅读(326) 评论(0) 推荐(0) 编辑
摘要: promisify(rimraf)('node_modules') 这样的用法结合了两个Node.js中的概念:promisify和rimraf,带来了以下好处: 从回调到Promise: promisify是Node.js内置的util模块中的一个函数,它将采用回调风格的函数转换为返回Promis 阅读全文 »
posted @ 2024-05-30 19:24 龙陌 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 在npm中,直接使用npm publish命令发布包时,如果不更改版本号,npm会阻止你发布相同版本号的包。 这是为了避免意外地覆盖已发布的包版本,导致依赖该版本的其他项目出现问题。 因此,直接“强制推送”之前的版本号包并不是推荐的做法。 但如果你确实有特殊需求(比如紧急修复了安全漏洞,需要重新发布 阅读全文 »
posted @ 2024-05-30 14:58 龙陌 阅读(740) 评论(2) 推荐(0) 编辑
摘要: 集成测试和冒烟测试在软件测试流程中有着不同的目的和执行时机: 冒烟测试通常在软件的新版本构建完成后立即进行,作为质量 gate 的第一步。 它的目的是快速验证软件的基本功能是否正常工作,是否可以进行进一步的详细测试。 冒烟测试就像是一个初步的检查,确保没有严重的故障阻碍后续的全面测试。 如果冒烟测试 阅读全文 »
posted @ 2024-05-29 16:59 龙陌 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 在 dumi 2.x 中支持 CSS Modules 是比较直接的,因为 dumi 基于 Umi,而 Umi 自身就对 CSS Modules 提供了良好支持。以下是基本步骤和注意事项来在 dumi 项目中使用 CSS Modules: 安装依赖: 确保你的项目中已经安装了相应的加载器,如style 阅读全文 »
posted @ 2024-05-28 14:26 龙陌 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 里氏替换原则(Liskov Substitution Principle, LSP)是面向对象设计中的一个基本原则,由芭芭拉·利斯科夫(Barbara Liskov)在1987年提出。 这个原则的中心思想非常直观,可以用一句通俗的话来解释:“子类应当能够替换掉它们的父类,而不会影响到程序的正确性。” 阅读全文 »
posted @ 2024-05-27 10:05 龙陌 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 接口隔离原则(Interface Segregation Principle, ISP)的通俗解释可以这样理解: 想象你在经营一家餐厅,餐厅里有各种各样的顾客,有的顾客只想吃素菜,有的顾客只对肉类感兴趣,还有的顾客可能对甜品情有独钟。 如果你设计了一个菜单,上面既有素食、又有肉食和甜品,那么对于只想 阅读全文 »
posted @ 2024-05-27 10:04 龙陌 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 在React中,useMemo 和 useEffect 都是 Hooks,但它们各自有不同的用途和适用场景。上述代码片段使用了 useMemo 来 memoize(记忆化)一个计算结果,确保只要依赖项(tuningFileOptionsMemo 和 currentTuningFileId)不变,返回 阅读全文 »
posted @ 2024-05-22 11:15 龙陌 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 422是一个HTTP状态码,表示服务器理解客户端的请求,但无法处理该请求。这个状态码通常被用于Web应用程序中的表单验证,其中服务器无法处理客户端提交的表单数据。 具体来说,当一个客户端向服务器提交表单数据时,服务器首先会验证这些数据是否符合要求。 如果数据验证失败,服务器会返回422状态码,告诉客 阅读全文 »
posted @ 2024-05-20 20:30 龙陌 阅读(1371) 评论(0) 推荐(0) 编辑
摘要: 这个需求的合理性取决于具体的应用场景和目的。让我们分析一下: 合理性的一面: 简化逻辑处理:如果这个类型字段是为了在后端快速区分或过滤不同类型的对象属性,那么在前端就做好标记,可以简化后端处理逻辑,减少在后端进行类型判断的需要。 一致性保证:在前端加入类型字段并确保它与对象属性中的一致,可以在一定程 阅读全文 »
posted @ 2024-05-20 14:24 龙陌 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 后端要求前端将一些不必要的字段原封不动地传递回来,这种做法通常并不合理,主要原因如下: 增加数据传输负担:每次请求包含额外无用的字段会增加数据传输的体积,特别是在移动设备或网络条件不佳的情况下,这可能导致响应速度变慢,影响用户体验。 资源浪费:无论是服务器带宽、内存还是CPU,在处理和传输这些不必要 阅读全文 »
posted @ 2024-05-20 14:16 龙陌 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 在React中,通常我们不直接“暴露”组件内部的state给外部去监听或修改,因为这违反了组件设计中的封装原则。 然而,确实有需求让外部知道某个组件的内部状态变化,这时可以通过以下几种方式实现通信: 回调函数(Callback Function): 你可以通过传递一个回调函数作为prop从父组件到子 阅读全文 »
posted @ 2024-05-13 14:56 龙陌 阅读(257) 评论(0) 推荐(0) 编辑
摘要: .nojekyll 文件是一个用于GitHub Pages的特殊文件。当你在GitHub仓库的根目录中包含这个文件时,它会告诉GitHub Pages不要使用Jekyll来处理你的站点。 Jekyll是一个静态站点生成器,GitHub Pages默认使用它来将Markdown和其他文本格式的文件转换 阅读全文 »
posted @ 2024-05-12 17:24 龙陌 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 使用TypeScript编写一个函数getPackageSize,该函数接收一个配置对象packageOpt作为参数,用于获取指定文件夹中所有文件的总大小,并根据配置决定是否返回已转换单位的大小值或直接通过回调函数返回字节大小。 下面是一个基于Node.js环境的实现示例,因为直接在浏览器环境中操作 阅读全文 »
posted @ 2024-05-12 13:54 龙陌 阅读(31) 评论(0) 推荐(0) 编辑
摘要: F:\learn-front\code-inspector\package.json 这两行命令是用于在JavaScript项目中发布(publish)软件包到npm仓库的脚本定义,常见于使用pnpm作为包管理器的Monorepo(单仓库多项目)结构的项目中。 这里具体解释一下每部分的含义: pub 阅读全文 »
posted @ 2024-05-12 11:28 龙陌 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 关于e.stopPropagation(),大家应该知道这个方法是用来阻止事件冒泡的。 那么e.stopImmediatePropagation()可能比较少见。 stopImmediatePropagation 用来阻止在同一DOM对象上同一事件类型的其它事件函数的执行 并且与事件先后注册的顺序有 阅读全文 »
posted @ 2024-05-11 23:04 龙陌 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 终于明白了 Array.sort(comparator) 的原理 原文地址: https://www.jameskerr.blog/posts/javascript-sort-comparators/ After 13 years of JavaScript, I finally have a wa 阅读全文 »
posted @ 2024-05-10 22:38 龙陌 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 在CSS中,border-radius 用于创建元素的圆角边框,但边框圆角本身是包含在元素的总宽度和高度内的,并不会额外占用外部空间或使元素尺寸变大。如果你想让圆角“向外突出”,即不占用div本身的宽度和高度,可以通过一些技巧来模拟这种效果。 一种常见的方法是使用伪元素 (::before 和 :: 阅读全文 »
posted @ 2024-05-10 10:44 龙陌 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 该链接指向GitHub上一个SVG图像文件。根据链接的路径/long36708/blob/main/resources/img/grid-snake.svg,这个文件已经被放置在了名为long36708的仓库中的一个特定目录结构里。这里的路径说明了文件的组织方式: main 表示该仓库的默认分支(通 阅读全文 »
posted @ 2024-05-08 21:31 龙陌 阅读(21) 评论(0) 推荐(0) 编辑
摘要: state更新的是一个值List,但是页面渲染使用的是List中的某一项(当前选中项curItem),也定义成了state, 而更新状态时,只更新了List,忽视了当前选中项curItem的状态更新,导致视图没有更新, 即使组件重新渲染了,但是视图中使用的是curItem 解决方案:state中不要 阅读全文 »
posted @ 2024-05-08 09:25 龙陌 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: 是的,React中的useEffect Hook 可以被用来作为“watch”监听特定变量或状态的变化,并在这些值发生变化时执行特定的操作。这是通过在useEffect的依赖数组中列出你想要监听的值来实现的。当依赖数组中的某个值发生变化时,useEffect的回调函数会被重新执行。 下面是一个简单的 阅读全文 »
posted @ 2024-05-07 19:10 龙陌 阅读(1024) 评论(0) 推荐(0) 编辑
摘要: 在JavaScript事件处理中,e.stopPropagation() 的作用是阻止事件向上冒泡到父元素,也就是说,它防止当前元素的事件继续传播到DOM树上的其他事件监听器。因此,它的位置对于事件流的行为至关重要。 将 e.stopPropagation() 放在 onChangeColor() 阅读全文 »
posted @ 2024-05-05 14:20 龙陌 阅读(38) 评论(0) 推荐(0) 编辑
摘要: crypto.randomUUID() 是一个函数,用于生成一个随机的通用唯一标识符(Universally Unique Identifier,UUID)版本 4。 这个函数常在编程中用于创建唯一的字符串标识,适用于各种需要唯一性的场景,如数据库记录、会话管理、临时文件命名等。 在不同的编程语言和 阅读全文 »
posted @ 2024-05-05 10:57 龙陌 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 在 .npmrc 配置文件中,unsafe-perm 和 package-lock 的设置有各自的作用: unsafe-perm = true: 此设置影响 npm(或 pnpm,如果使用该包管理器)在执行包脚本时的行为。 默认情况下,当以 root 或具有管理员权限的用户身份运行 npm 安装命令 阅读全文 »
posted @ 2024-05-01 23:03 龙陌 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 避免在useEffect的依赖数组中包含大量变量或对象,可以通过以下几种策略来优化: 拆分useEffect:如果不同的副作用依赖于不同的状态或变量,可以将它们拆分为多个useEffect调用。这样每个useEffect只关注自己关心的依赖项,使逻辑更加清晰且易于维护。 useEffect(() = 阅读全文 »
posted @ 2024-04-30 16:48 龙陌 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 在React中,决定使用useState、useRef或是直接定义变量,主要取决于你希望变量如何与组件的渲染周期互动以及是否需要持久化某些值。 直接定义变量 场景:如果你只是需要一个在函数内部临时存储数据的变量,而且这个变量的值不需要在组件重新渲染时保持不变,或者它并不直接影响UI的渲染逻辑,那么直 阅读全文 »
posted @ 2024-04-30 14:00 龙陌 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 在React中,useEffect和发布订阅模式(Pub/Sub)解决的是不同层面的问题,因此它们的使用场景也有所不同。 useEffect的使用场景 数据获取:当组件挂载后需要从服务器获取数据时,可以使用useEffect。同时,当依赖项发生变化时,它也能帮助重新获取数据。 副作用处理:任何需要在 阅读全文 »
posted @ 2024-04-30 13:57 龙陌 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 基于之前讨论的electron-store最佳实践,以下是一个更加完善和健壮的封装示例,包含了类型处理、默认值设定、以及一些实用方法,以适应更复杂的场景: // storeUtil.js const Store = require('electron-store'); const app = req 阅读全文 »
posted @ 2024-04-29 20:58 龙陌 阅读(867) 评论(0) 推荐(0) 编辑
摘要: SHA256(Secure Hash Algorithm 256-bit)是一种安全哈希算法,属于SHA-2系列,由美国国家安全局(NSA)设计并由美国国家标准与技术研究院(NIST)发布。 SHA256算法的主要目的是将任意长度的消息映射为一个固定长度(256位,即32字节)的哈希值,这个过程是单 阅读全文 »
posted @ 2024-04-29 20:43 龙陌 阅读(1343) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 19 下一页
点击右上角即可分享
微信分享提示