SF
zhangfisher
zhangfisher
注册登录
关注博客
注册登录
主页
关于
RSS
最佳实践:如何实现函数参数之间的TS类型相依赖和自动推断
zhangfisher
11 月 7 日
阅读 5 分钟
148
引入最近在开发一款极致优雅的前端状态管理库AutoStore时碰到这样一个问题。拟实现Field组件,该组件相关类型简化代码如下: {代码...} 该组件,具有validate和render两个属性:其中validate是校验函数,可以同步校验函数或者异步校验函数重点是render渲染函数的props.isValid的类型,则是动态的,我们希望其依赖于字段的...
深入解析:React中的信号组件与细粒度更新
zhangfisher
11 月 7 日
阅读 6 分钟
169
引言在主流的前端开发框架中,无论是React、Vue还是Svelte,核心都是围绕着更高效地进行UI渲染展开的。为了实现高性能,基于DOM总是比较慢这个假设前提,其最核心的要解决的问题有两个:响应式更新细粒度更新为了将响应式更新、细粒度更新优化到极致,各种框架是八仙过海,各显神通。以最流行的React和Vue为例,首先两者...
新鲜出炉的Nodejs/Vue/React多语言解决方案
zhangfisher
2022-03-24
阅读 23 分钟
3.6k
基于javascript的国际化方案很多,比较有名的有fbt、i18next、react-i18next、vue-i18n、react-intl等等,每一种解决方案均有大量的用户。为什么还要再造一个轮子?好吧,再造轮子的理由不外乎不满足于现有方案,总想着现有方案的种种不足之处,然后就撸起袖子想造一个轮子,也不想想自己什么水平。
推荐简单好用的终端输出彩色内容的开源nodejs工具库
zhangfisher
2022-03-11
阅读 22 分钟
2.9k
在开发nodejs终端应用程序时,在终端输出带颜色的文本,支持以下特性:支持按不同数据类型以不同的颜色显示,并且可以配置支持按DEBUG、INFO、WARN 、ERROR 、FATAL五个级别输出日志支持输出带颜色的模板字符串支持自动格式化显示{}和[]类型支持强大的表格输出支持输出任务列表、进度条、横幅和树等扩展正确处理中文与英...
React-Native中metro构建缓存导致的事故
zhangfisher
2021-12-24
阅读 1 分钟
2.4k
会出现找不到无法导入'@react-navigation/bottom-tabs'的问题,问题很容易就找到原因所在,因此将"rootPathPrefix": "@"改成"rootPathPrefix": "~".但是问题并无法解决,在运行时还是出现无法导入'@react-navigation/bottom-tabs'.就算是禁用"babel-plugin-root-import"也无法导入。
Vscode和webstorm在运行Jest测试时异步断点不准确的问题
zhangfisher
2021-12-23
阅读 1 分钟
1.9k
一直以来被动一个问题困扰,在开发react-native应用时,无论是在Vscode或webstorm在运行Jest测试时均无法在async和yield函数中成功打断点,断点总是在函数头部就停下来,无法停在await或yield上面,如此单步调试的体验极差。
解决WebStorm调试断点时碰到幽灵断点的坑
zhangfisher
2021-11-18
阅读 1 分钟
2.9k
最近使用WebStorm进行调试时碰到一个坑:每次DEBUG应用时,WebStorm总是在一些莫名其妙的地方断点停下来,明明我没有打断点。问题诡异就是在于,存在一些隐藏的断点,但在断点列表中并没有存在,可以称之为幽灵断点。找遍了WebStorm的所有可疑的配置参数,清除了无数次缓冲区和尝试,还不能解决。
Nodejs和Jest单元测试无法正常退出的问题
zhangfisher
2021-10-22
阅读 1 分钟
3.6k
最近在编写Nodejs/Jest单元测试时出现应用无法正常退出,明明单元测试已经执行完毕,但是应用就是卡住,无法正常退出,导致单元测试无法连续执行。由于应用较为复杂,很难以排查是什么原因导致的,经过分析原因主要如下:
如何判断Javascript函数是否是Async函数
zhangfisher
2021-04-13
阅读 2 分钟
7.1k
调用Object.prototype.toString.call(async function(){}),如果返回[object AsyncFunction],则说明是Async函数。
Android单元测试崩溃问题的解决
zhangfisher
2021-03-02
阅读 1 分钟
2.8k
在使用Android单元测试时可能会出现"Test run failed: Instrumentation run failed due to 'process crash'的崩溃问题而导致单元测试无法执行。