Better

Ethan的博客,欢迎访问交流

React Router Data APIs

6.4 版本引入的新特性。


Recoil 介绍

类 useState 的全局状态管理工具。


React 数据获取优化

当项目复杂后,组件直接调用基于 axios 封装的异步 api 函数的方式,在组件需要调用多个 api 时会变得复杂起来,比如需要管理多个 loading 和 error 状态,这会导致产生非常多的 state 声明,还有请求取消、请求竞态等可能存在的问题也容易被忽略。


React 生态的一些更新

React 生态中 react-router 有大版本更新,redux 更是推出一个 wrapper 包 - react-toolkit,算是总结过去,优化最佳实践。


使用 React 设计层面的思考

最近使用 React 的过程,让我非常困惑,因为我总是想把组件写薄,尽可能使得逻辑下沉,这让对我组件设计、使用 FP 还是 OOP、对于开源方案的选择等,总是会带来一些思考成本。额外内容:React Strict 给我的奇妙体验。


React UI component unit test

通常我们都比较喜欢测试很小而且仅依赖 props 的组件,因为这是最容易测试的情况,但事情可能不会那么理想


React batch update

最近开发中,碰到个很奇怪的问题,导致出现了意料之外的 bug,在异步中多个调用 setUpdater,会导致组件 re-render 多次,而且每次调用 setUpdater 都会导致组件同步 re-render,且 useEffect 也会同步执行,从而代码流程不符合预期。顺带提高 React 性能优化与闭包问题。


Ant Design Form 表单总结

Form 表单应该是 Ant Design 中最为复杂的组件了,在 4.x 版本中更是迎来一波重写,这里总结下碰到的问题及解决办法。


React 如何实现模块的按需加载

突然发现已经有一个月没有输出内容了,公司最近这段时间确实也有点忙,与此同时自己也有点小焦虑,什么都想学,却好像给自己安排的太多了。六月份还是不要空白了,抓住小尾巴,写点笔记吧。


使用 Redux 实现时间旅行

撤销重做在编辑需求中应该是很常见的功能了,在 Redux 应用中,全局 store 和 immutable 数据类型,为接入时间旅行功能提供了天然的便利,简单看看吧