Recoil 状态管理方案的浅入浅出

2022-10-11
阅读 9 分钟
2k
背景: Recoil 是 Facebook 推出的一款专门针对React应用的状态管理库,在一定程度上代表了目前的一种发展趋势,在使用时觉得一些理念很先进,能极大地满足作为一个前端开发者的数据需求,本文对 Recoil 的这些特性做一个梳理。
封面图

React 组件库 CSS 样式方案分析

2022-05-13
阅读 7 分钟
3.9k
随着业务的发展,一些代码逻辑可能同时在多个项目中使用,为了避免每次使用和更新都要复制粘贴代码,构造一个组件库就十分有必要了。构建组件库有很多需要考虑的方面,本文主要讨论在 React 生态下,如何选择一种适合组件库的 CSS 样式方案。
封面图

React hooks 状态管理方案解析

2022-02-18
阅读 8 分钟
3.8k
React v16.8 之后,Function Component 成为主流,React 状态管理的方案也发生巨大的转变。Redux 一直作为主流的 React 状态管理方案,虽然提供了一套规范的状态管理流程,但却有着让人饱受诟病的问题:概念太多、上手成本高、重复的样板代码、需要结合中间件使用等。
封面图

React 事件系统工作原理

2020-12-23
阅读 7 分钟
9.7k
在 React事件介绍 中介绍了合成事件对象以及为什么提供合成事件对象,主要原因是因为 React 想实现一个全浏览器的框架, 为了实现这种目标就需要提供全浏览器一致性的事件系统,以此抹平不同浏览器的差异。

漫谈 React Fiber

2020-12-16
阅读 7 分钟
4.5k
React 实现了使用 Virtual DOM 来描述 UI 的方式,通过对比两棵树的差异最小化的更新 DOM,这样使得用户的代码变的傻瓜,但是同时也来带了一些问题。这个核心的问题就在于 diff 计算并非是免费的,在元素较多的情况下,整个 diff 计算的过程可能会持续很⻓时间,造成动画丢帧或者很难响应用户的操作,造成用户体验下降。...

面向复杂场景的表单解决方案

2020-08-20
阅读 9 分钟
8.2k
云音乐 B 端业务场景非常多,B 端业务相对于 C 端业务产品生命周期更长而且更注重场景的的梳理。很多时候开发 B 端业务都是拷贝之前的代码,这样增加了很多重复而且枯燥的工作量。

React Fiber 源码解析

2020-08-11
阅读 16 分钟
10.9k
在 React v16.13 版本中,正式推出了实验性的 Concurrent Mode,尤其是提供一种新的机制 Suspense,非常自然地解决了一直以来存在的异步副作用问题。结合前面 v16.8 推出的 Hooks,v16.0 底层架构 Fiber,React 给开发者体验上带来了极大提升以及一定程度上更佳的用户体验。所以,对 React 17,你会有什么期待?

React Hooks 最佳实践

2020-05-22
阅读 19 分钟
3.4k
在过去的几个月里,React Hooks 在我们的项目中得到了充分利用。在实际使用过程中,我发现 React Hooks 除了带来简洁的代码外,也存在对其使用不当的情况。

支持动态路由的 React Server Side Rendering 实现

2020-02-28
阅读 9 分钟
2.1k
Server Side Rendering(SSR):服务端渲染,简而言之就是后台语言通过模版引擎生成 HTML 。实现方式依赖于后台语言,例如 Python Flask 的 Jinja、Django 框架、Java 的 VM、Node.js 的 Jade 等。

捕获 React 异常

2020-01-14
阅读 8 分钟
5.5k
韩国某著名男子天团之前在我们平台上架了一张重磅数字专辑,本来是一件喜大普奔的好事,结果上架后投诉蜂拥而至。部分用户反馈页面打开就崩溃,紧急排查后发现真凶就是下面这段代码。

Web 应用的撤销重做实现

2019-08-22
阅读 9 分钟
9.3k
背景 前不久,我参与开发了团队中的一个 web 应用,其中的一个页面操作如下图所示: 这个制作间页面有着类似 PPT 的交互:从左侧的工具栏中选择元素放入中间的画布、在画布中可以删除、操作(拖动、缩放、旋转等)这些元素。 在这个编辑过程中,让用户能够进行操作的撤销、重做会提高编辑效率,大大提高用户体验,而本文...