SEO 在 SPA 站点中的实践

2021-03-08
阅读 5 分钟
3.6k
观察基于 create-react-doc 搭建的文档站点, 发现网页代码光秃秃的一片(见下图)。这显然是单页应用 (SPA) 站点的通病 —— 不利于文档被搜索引擎搜索 (SEO)。

基于 React 开发了一个 Markdown 文档站点生成工具

2020-07-06
阅读 2 分钟
1.6k
Create React Doc 是一个基于 React 的 markdown 文档站点生成工具。就像 create-react-app 一样,开发者可以使用 Create React Doc 来开发、部署 markdown 站点或者博客而不用关心站点环境配置信息。

组件设计 —— 重新认识受控与非受控组件

2019-11-23
阅读 3 分钟
1.4k
React 官网中对非受控组件与受控组件作了如图中下划线的边界定义。一经推敲, 该定义是缺乏了些完整性和严谨性的, 比如针对非表单组件(弹框、轮播图)如何划分受控与非受控的边界? 又比如非受控组件是否真的如文案上所说的数据的展示与变更都由 dom 自身接管呢?

React 现代化测试

2019-08-25
阅读 4 分钟
2k
测试用例的书写是一个风险驱动的行为, 每当收到 Bug 报告时, 先写一个单元测试来暴露这个 Bug, 在日后的代码提交中, 若该测试用例是通过的, 开发者就能更为自信地确保程序不会再次出现此 bug。

React Hooks 深入系列 —— 设计模式

2019-08-01
阅读 7 分钟
2.6k
本文是 React Hooks 深入系列的后续。此篇详细介绍了 Hooks 相对 class 的优势所在, 并介绍了相关 api 的设计思想, 同时对 Hooks 如何对齐 class 的生命周期钩子作了阐述。

React Hooks 深入系列

2019-05-12
阅读 5 分钟
1.9k
本文基于近段时间对 hooks 碎片化的理解作一次简单梳理, 个人博客。同时欢迎关注基于 hooks 构建的 UI 组件库 —— snake-design。 在 class 已经融入 React 生态的节点下, React 推出的 Hooks 具有如下优势: 更简洁的书写; 相对类中的 HOC 与 render Props, Hooks 拥有更加自由地组合抽象的能力; 使用 Hooks 的注意项 在 ...

你不知道的 requestIdleCallback

2019-03-23
阅读 7 分钟
1.9k
本文副标题是 Request Schedule 源码解析一。在本章中会介绍 requestIdleCallback 的用法以及其缺陷, 接着对 React 团队对该 api 的 hack 部分的源码进行剖析。在下一篇中会结合优先级对 React 的调度算法进行宏观的解释, 欢迎关注个人博客。

深度理解 React Suspense(附源码解析)

2019-03-05
阅读 7 分钟
5.3k
在 16.6 版本之前,code-spliting 通常是由第三方库来完成的,比如 react-loadble(核心思路为: 高阶组件 + webpack dynamic import), 在 16.6 版本中提供了 Suspense 和 lazy 这两个钩子, 因此在之后的版本中便可以使用其来实现 Code Spliting。

React Fiber 数据结构揭秘

2019-02-23
阅读 3 分钟
2.3k
此章节会通过两个 demo 来展示 Stack Reconciler 以及 Fiber Reconciler 的数据结构。 个人博客 首先用代码表示上图节点间的关系。比如 a1 节点下有 b1、b2、b3 节点, 就可以把它们间的关系写成 a1.render = () => [b1, b2, b3]; {代码...} Stack Reconciler 在 React 16 之前,节点之间的关系可以用数据结构中树的深...

React 特性剪辑(版本 16.0 ~ 16.9)

2018-12-05
阅读 6 分钟
2.5k
Before you're going to hate it, then you're going to love it. Concurrent Render(贯穿 16) 在 18年的 JSConf Iceland 上, Dan 神提到 Concurrent Render 涉及到 CPU 以及 IO 这两方面。 Time Slicing 对应解决左侧的问题, Suspense 对应解决了右侧的问题。它们共同要解决的是的提升用户体验, 在更多的场景下都可以做...

React16.x 特性剪辑(上)

2018-11-22
阅读 3 分钟
1.7k
本文整理了 React 16.x 出现的耳目一新的概念与 api 以及应用场景。 更多 React 系列文章可以订阅blog 16.0 Fiber 在 16 之前的版本的渲染过程可以想象成一次性潜水 30 米,在这期间做不了其它事情(Stack Reconciler); 痛点概括: 一次性渲染到底 中途遇到优先级更高的事件无法调整相应的顺序 在 16 版本上, React 带来了...

打包优化实践(如何Code Spliting)

2018-09-28
阅读 4 分钟
2.8k
开发环境中可使用 analyze-webpack-plugin 观察各模块的占用情况。以该项目为例:浏览器中输入 http://localhost:3000/analyze.html 可以看到如下效果:

从 0 到 1 实现 react - onChange 事件以及受控组件

2018-09-18
阅读 3 分钟
7.6k
接上一章 HOC 探索 抛出的问题 ———— react 中的 onChange 事件和原生 DOM 事件中的 onchange 表现不一致,举例说明如下:

从 0 到 1 实现 React 系列 —— 5.PureComponent 实现 && HOC 探幽

2018-08-27
阅读 5 分钟
1.8k
本系列文章在实现一个 cpreact 的同时帮助大家理顺 React 框架的核心内容(JSX/虚拟DOM/组件/生命周期/diff算法/setState/PureComponent/HOC/...) 项目地址

从 0 到 1 实现 React 系列 —— 4.优化setState和ref的实现

2018-08-05
阅读 4 分钟
2.1k
看源码一个痛处是会陷进理不顺主干的困局中,本系列文章在实现一个 (x)react 的同时理顺 React 框架的主干内容(JSX/虚拟DOM/组件/生命周期/diff算法/setState/ref/...)

从 0 到 1 实现 React 系列 —— 生命周期和 diff 算法

2018-07-27
阅读 7 分钟
3.1k
本系列文章在实现一个 (x)react 的同时理顺 React 框架的主干内容(JSX/虚拟DOM/组件/生命周期/diff算法/...) 从 0 到 1 实现 React 系列 —— JSX 和 Virtual DOM 从 0 到 1 实现 React 系列 —— 组件和 state|props 生命周期 先来回顾 React 的生命周期,用流程图表示如下: 该流程图比较清晰地呈现了 react 的生命周期。...

从 0 到 1 实现 React 系列 —— 组件和 state|props

2018-07-12
阅读 5 分钟
2.5k
阅读源码一个痛处是会陷进理不顺主干的困局中,本系列文章在实现一个 (x)react 的同时理顺 React 框架的主干内容(JSX/虚拟DOM/组件/...)

从 0 到 1 实现 React 系列 —— JSX 和 Virtual DOM

2018-07-06
阅读 4 分钟
2.6k
看源码一个痛处是会陷进理不顺主干的困局中,本系列文章在实现一个 (x)react 的同时理顺 React 框架的主干内容(JSX/虚拟DOM/...)

redux middleware 源码分析

2018-03-01
阅读 3 分钟
1.9k
在业务中需要打印每一个 action 信息来调试,又或者希望 dispatch 或 reducer 拥有异步请求的功能。面对这些场景时,一个个修改 dispatch 或 reducer 代码有些乏力,我们需要一个可组合的、自由增减的插件机制,Redux 借鉴了 Koa 中 middleware 的思想,利用它我们可以在前端应用中便捷地实现如日志打印、异步请求等功能。

使用React全家桶搭建一个后台管理系统

2017-06-15
阅读 7 分钟
17.4k
使用React技术栈搭建一个后台管理系统最初是为了上手公司的业务,后来发现这个项目还能把平时遇到的有趣的demo给整合进去。此文尝试对相关的技术栈以及如何在该项目中引人Redux进行分析。