Better

Ethan的博客,欢迎访问交流

Writing your code is just like planting a tree

没有什么营养的序:写代码就像种一颗树,你不管它,它通常也能自然生长,但你时不时修剪修剪,它能长的更好一点。但它又不同于种树,因为你把它头插土里,它也可以自然生长。 文章中的代码都是盲打的,不保证正确性。


React 数据获取优化

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


简单 CLI 工具编写

解决团队当前本地开发存在的痛点。


docker 了解

了解下 docker 的简单使用。


some idea learn from konva.js

无意间了解到 konva.js 库,konva 一个 2d canvas 库,作者基于该库创建一个了付费 Polotno SDK,总结了其多年工作经验,用于快速实现在线设计站点。了解它相关 api 后,有些设计思路值得借鉴。


微前端简单思考

约两年前就有了解这个话题,当时背景是前端的旧项目代码量比较大,开发时编译速度很慢,极大了影响开发体验,正逢技术转型以及新增产品业务线,于是拆分成了多个项目进行开发,但项目之间跳转、数据传递以及彼此交互时,就陷入了困境。


DE-9IM

JSTS 某些 API 咋看描述有些类似,关于空间关系的描述有一个 DE-9IM 模型。


组件库 CSS 样式方案

项目中一定会存在一些可被复用的组件,可能是完全自研的,也可能是基于已有组件组二次封装的。打包成一个可被不同项目间复用的 npm 包,则对待 CSS 如何处理就会有多种方式。


组合快捷键功能实现

当初实现组合快捷键功能的时候,觉得这是个并不复杂的功能,同时结合项目自身的特殊需要,并没有考虑引入第三方解决方案,于是乎自己简单实现了一个,keydown/keyup 事件安排起来,直到有一天发现有时候快捷键会失效,比如当我使用系统快捷键切换窗口,在切回时,快捷键就失效了。


React 生态的一些更新

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