react
-
treq,一个超实用的python库
在异步编程领域,Twisted 是 Python 中一个历史悠久且功能强大的异步网络框架。treq 是一个构建在 Twisted 之上的库,它提供了一个类似于 Pytho…
-
Flexx,一个超酷的python库
Flexx 是一个用于创建图形用户界面(GUI)的 Python 库,它特别适用于需要实时数据交互和动态更新的应用程序。Flexx 使用了响应式编程范式,这意味着应用程序的状态会自…
-
React 源码解读之首次渲染流程
说明:本文结论均基于 React 16.13.1 得出,若有出入请参考对应版本源码 题目 在开始进行源码分析前,我们先来看几个题目: 题目一: 渲染下面的组件,打印顺序是什么? i…
-
React 源码解读之Hooks
说明:本文结论均基于 React 16.13.1 得出,若有出入请参考对应版本源码 题目 老规矩,在进入正题前,先做个题目: 下面的组件能按照期望工作吗(每隔一秒数字增加 1)?W…
-
React 源码解读之 Concurrent(一)
引言 为了提升用户体验,React 团队提出了 Concurrent 模式。Concurrent 模式可以在应用更新的同时保持浏览器对用户的响应,并根据用户的设备性能和网速进行适当…
-
React 源码解读之 Concurrent 模式(更新插队)
引言 上篇[1]讲述了 Concurrent 模式中关于时间切片的实现方式,本文来讲讲 Concurrent 模式中另外一个特性:更新插队。我们先来看一个例子: import&nb…
-
React 源码解读之 Custom Renderer
引言 从React的渲染流程[1]我们知道,JSX 会先转为一颗 Fiber Tree,然后通过 Renderer 渲染成页面。 对于 Web 平台,这个 Renderer 就是 …
-
React 源码解读之协调过程(二)
引言 上篇文章介绍了 React 协调过程中 beginWork 阶段的前半部分,这篇文章我们来介绍后半部分。 beginWork 同样的,我们还是精简一下代码,只关注感兴趣的部分…
-
React 源码解读之 Context
引言 React 源码系列继续进行,今天来讲讲 Context 相关的内容。从何讲起呢?我们还是先从一个案例开始吧: import React, { …
-
React 源码解读之 Automatic Batching
引言 最近,React 团队给出了 React 18 版本的计划[1],其中提到了一个优化:Automatic Batching。关于该优化,React 成员之一 Dan 在 Gi…
-
React 远程动态组件实践
背景 想象有这样一个场景:A 团队开发了一套组件库,B 和 C 团队都在各自的业务项目中使用了该组件库。现在 A 团队需要对某个组件进行更新(比如修改颜色),按照以往的做法,A 团…
-
React Native 按需加载实战(一)
引言 React Native 应用默认会将我们的 JS 代码打包成一个文件,当我们的 React Native 应用变得很庞大了以后,一次性下载所有 JS 代码往往耗时很长,这时…
-
体验一把 React transition
引言 React 系列继续,今天来聊一聊 transition。话不多说,我们先用一个例子(React 18)来引入今天的主题: import {useState,&nb…
-
浅析状态管理库 Jotai 的实现原理
前段时间无意中发现了一个叫 Jotai 的状态管理库,使用起来感觉挺轻量顺手的,比如下面这个简单的例子: import {atom, useAtom} …
-
从零实现 React v18,但 WASM 版 – [1] 项目框架搭建
模仿 big-react(https://github.com/BetaSu/big-react),使用 Rust 和 WebAssembly,从 0 到 1 实现从零实现 Rea…
-
从零实现 React v18,但 WASM 版 – [2] 实现 ReactElement
模仿 big-react(https://github.com/BetaSu/big-react),使用 Rust 和 WebAssembly,从 0 到 1 实现从零实现 Rea…