
React.JS
文章平均质量分 71
l煎饼果子
搬砖工程师
展开
-
React - 实现一个支持TypeScript类型推导的 useRequest
当我们使用useState和请求时,有这样的场景: 需要在页面挂载的时候请求,并且支持loading状态和错误信息捕获。这个函数本身是没什么难度的,主要是需要支持TypeScript的类型推导,就当做一次TypeScript类型的练习吧原创 2023-12-14 16:39:36 · 484 阅读 · 0 评论 -
React实现一个拖拽排序组件 - 支持多行多列、支持TypeScript、支持Flip动画、可自定义拖拽区域
React实现一个拖拽排序组件 - 支持多行多列、支持TypeScript、支持Flip动画、可自定义拖拽区域原创 2023-11-05 15:56:15 · 2007 阅读 · 0 评论 -
解决 React forwardRef 与 TypeScript 泛型组件冲突的问题
forwardRef是一个可以将组件内的ref对外暴露的高阶组件,当你的组件需要对外暴露元素的Ref,或者想对外暴露某些内部方法,就可以使用这个 (对应vue3的 expose 方法) 但是当forwardRef与TypeScript泛型组件结合时,会出现泛型丢失的问题 (传入泛型无效) 对这个问题,网上有许多解决方法,比如 定义 global.d.ts 等,但是感觉都不够高效,现在给大家带来我的解决方法 主要思路就是创建一个高阶组件,继承原原创 2023-11-03 22:42:55 · 1829 阅读 · 0 评论 -
性能优化之懒加载 - 基于观察者模式和单例模式的实现
在前端性能优化中,关于图片/视频等内容的懒加载一直都是优化利器。当用户看到对应的视图模块时,才去请求加载对应的图像。 原理也很简单,通过浏览器提供的IntersectionObserver - Web API 接口参考 | MDN (mozilla.org),观察“哪个元素和视口交叉”,从而进行懒加载。 这个API具有很好的性能,因为它的监听是异步的,不会影响JS的主线程,所以比传统的“监听页面滚动”更佳。关于API的使用,这里就不做过多说明了,主要操作如下:原创 2023-11-03 22:23:42 · 1493 阅读 · 0 评论 -
React 实现一个瀑布流组件(TypeScript) 支持宽度响应式,支持任意列数,支持触底加载,良好的TS类型支持
瀑布流是很常见的布局,移动端、PC端均可使用,主要特点是每个元素等宽,但是不等高。(比如我们逛淘宝,商品的展示就是瀑布流)瀑布流只使用css的话,效果非常不好,且限制特别多,一般都是使用JS进行高度计算 注:本文的实现,需要提前知道图片的大致宽高比例,可以让后端返回(因为在Img加载出来后,前端才能获取到真实的宽高,不划算)本文代码示例效果:支持宽度响应式,支持任意列数,支持触底加载,良好的TS类型支持原创 2023-09-23 14:03:45 · 2311 阅读 · 13 评论