Rust入门笔记(三) 记录在https://course.rs 上学习Rust中的一些知识点 2.5.1 条件语句 基本语法 12345678if condition == true { // A...} else if { // B...} else { // C..} if语句块是个表达式,可以用来赋值。用来赋值的时候,多个分支返回 2026-01-27 Rust入门笔记 #Rust #Rust基础
Rust入门笔记(二) 记录在https://course.rs 上学习Rust中的一些知识点 2.4.1 字符串与切片Rust的字符串和切片概念也是比较难的一点。感觉我之前几次都是看到这里,然后卡住了很久。后面就忙了没空继续看了,下一次又从头看起(捂脸)。所以这部分对我也是一座大山。 String是字符串类型,内容是字节数组。值的内容在堆上,而本身是一个胖指针,包含ptr,len(已使用长度),capacity( 2026-01-12 Rust入门笔记 #Rust #Rust基础
Rust入门笔记 记录在https://course.rs 上学习Rust中的一些知识点 其实之前断断续续也看过一段Rust了,但是可惜总是没办法连续学习。可能这几天工作任务不忙,就看一看。过几天忙了就断了。等下次再去看的时候,可能就忘了很多东西,导致我一直在不断重复地学习入门的知识,就感觉效率很低。 所以我就想着,对抗遗忘最好的方法,一个是用起来,再一个就是记下来。目前用起来有些难度,所以就先记下来。这样或许 2026-01-10 Rust入门笔记 #Rust #Rust基础
通俗易懂的React原理(番外篇之四):函数组件与函数? 代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 。此版本React的RSC功能近期被发现有致命漏洞,我们研究源码不涉及相关功能,但此版本应该严禁在生产使用。 这一期番外篇还是来自工作中的生产问题,不过这次不是我踩坑,是同事遇到并排查的,她修完之后顺手把坑点分享了出来。 现象很直观,把一个函数组件当成普通函数直接 2025-12-28 通俗易懂的React原理 #React #Hooks #Fiber #函数组件
通俗易懂的React原理(番外篇之三):又遇组件卸载 代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 。此版本React的RSC功能近期被发现有致命漏洞,我们研究源码不涉及相关功能,但此版本应该严禁在生产使用。 这一篇写得随意一点,不打算贴太多源码。与其说是技术文章,更像是一个排坑故事,记录我为了查清这个 bug 花了整整两天时间,最后终于定位的过程。 没想到吧 2025-12-10 通俗易懂的React原理 #React #Fiber
通俗易懂的React原理(十二):React的合成事件系统 代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 ,并且经过简化,仅保留了关键的逻辑,以便于理解流程 React自己实现的事件系统如果我们用原生的js,去给dom添加事件,应该用addEventListener,或者添加onclick之类的属性。但是这两种方法,都和我们React的写法不同。 React里,我们想 2025-11-30 通俗易懂的React原理 #React #合成事件
通俗易懂的React原理(番外篇之二):意料之外的组件卸载 代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 。 最近又在工作中遇到了一个比较怪的问题,排查的时候也是用到了前面学习React源码的知识。今天再写一篇番外来记录一下。 问题介绍背景是,在一个商品列表里,有很多折叠状态的商品卡片。当我点击商品卡片的时候,会调接口获取商品详情,和推荐的低价商品。接口返回后,卡片状 2025-11-11 通俗易懂的React原理 #React #fiber #React源码
通俗易懂的React原理(十一):从createRoot说起 代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 ,并且经过简化,仅保留了关键的逻辑,以便于理解流程 前面我们一直在讲React渲染的流程,但是我们并不是从我们最初的调用开始讲的。回顾前面的十篇文章,我们是先讲了React渲染的流程,先跳过了触发渲染这一步。然后讲了一个setState或者说是dispatch的行 2025-10-22 通俗易懂的React原理 #React #react-dom
通俗易懂的React原理(十):Scheduler调度器 代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 ,并且经过简化,仅保留了关键的逻辑,以便于理解流程 所谓调度,就是有一个任务,不一定会立刻执行,而是安排在某个时机再去执行。 前面几篇也多次提到过了,React会通过调度器来执行一些任务。例如并发渲染被中断后的恢复执行,useEffect部分场景下的执行,都是由S 2025-10-05 通俗易懂的React原理 #React #Scheduler
通俗易懂的React原理(九):commit流程(下) 代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 ,并且经过简化,仅保留了关键的逻辑,以便于理解流程 1234567function commitRoot(){ // 前略 flushMutationEffects(); flushLayoutEffects(); // Skip 2025-10-03 通俗易懂的React原理 #React #fiber