首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Taro 助力京喜拼拼项目性能体验优化

Taro ,会对 setData batch 捆绑更新操作,因此更多时候只需要考虑 setData 数据量大小问题。...,使用样式固定宽高也无法阻止滚动,因为这些组件本身就具有滚动能力。...这也是为什么虚拟列表早期版本我们并没有支持这样特性,而是选择固定了每个节点高度,避免让开发者使用虚拟列表时增加心智负担。...Taro3 原生项目混合 过去我们对 Taro 项目中混合使用原生支持度较高。相反地,对原生项目中混合使用 Taro 却没有太重视。...方案主要支持了三种场景: 原生项目中使用 Taro 开发页面。(已完成) 原生项目的分包运行完整 Taro 项目。(已完成) 原生项目中使用 Taro 开发自定义组件。

1.1K10

仿腾讯课堂固定滚动列表ReactNative组件

前言 由于业务需要做成类似腾讯课堂课程详情滚动效果,考虑到后面有可能有新呈现方式,RN提供组件没有这种滚动控件,不如自己封装,其实去年已经写了一篇但是写比较乱,周末花了点时间重写梳理下东西。...剩下最后一个如何通知内层容器滚动呢?先卖个关子,解决这个问题之前,我们先来了解下AndroidView事件是如何传递。 正所谓知己知彼,百战不殆,看看Android触摸事件类型有哪些?...如何封装RN组件 参考 RN 0.51文文档,我们需要做这些东西: 原生上要做事 1.创建原生固定滚动控件 2.创建管理滚动控件ViewManager子类 3.创建实现了ReactPackage...接口类 JavaScript上要做事 4.实现对应JavaScript模块 开始动手 1.创建原生固定滚动控件 根据前面的分析,我们知道写原生滚动控件主要是重写控制拦截事件方法onInterceptTouchEvent...另外注意修改字段,REACT_CLASS = "RNFixedScrollView",这个JS模块名字存在映射。

4.8K70
您找到你想要的搜索结果了吗?
是的
没有找到

实现流畅页面切换?日本前端教教你...

写在前面 大家好,我是再LINE漫画JavaScript开发@sunderls。 LINE可以直接看漫画了,大家注意到了吗?...点击「···」> 「LINEマンガ」之后,就可以流畅看免费漫画了 这里画面,实际上用是web技术。画面切换时候,个人觉得和原生app一样流畅,大家觉得是这样?...后退后没有恢复到上次滚动位置 SPA应用中经常遇到这种问题。虽然可以通过JavaScript暂存滚动位置进行恢复,但是这种实现并不简单,很容易产生页面的上下跳动等不流畅问题。...这些问题用一句话总结一下就是「页面后退时候,之前页面因为滚动・点击等用户行为所产生DOM变化如何重现」 参考IOS实现 为了看起来像原生app,那么我们最好参考一下原生app实现。...如果可以的话,可以LINE尝试一下LINE漫画看看实际效果。 本文摘自https://engineering.linecorp.com/ja/blog/detail/200 欢迎关注IMWeb!

59010

蜕变之始,useEffect 最后一种用法

React 开发指导思想是数据驱动 UI,因此 React 程序,我们总是会思考如何设计 UI 保持一致数据,把解决问题重心放在数据逻辑上。 但是这样思路并不能应对所有场景。...一个复杂项目中,我们可以使用 React 解决一部分逻辑,然后使用别的更合适方案解决另外问题,这样灵活性提高了 React 项目的上限。...useEffect(effect, []) 只要我们确保当前组件程序运行过程相对稳定,不会随时被删除,那么我们就可以 effect 获取原生 DOM 节点,并添加绑定事件,回归到原生 DOM...,我们这里使用一个案例来进一步感受 React 原生 DOM 开发结合方式。...2 需求 长页面滚动过程,我们常常会在页面的顶部或者旁边,放一个标识组件来告诉用户页面已经滚动到什么位置了。 滚动过程,当前选中状态会自动变化到对应位置。

12010

React 进阶 - 海量数据处理和其他细节

虚拟列表,长列表滚动过程,只有视图区域显示是真实 DOM ,滚动过程,不断截取视图有效区域,让人视觉上感觉列表是滚动,达到无限滚动效果。...防抖函数一般用于表单搜索,点击事件等场景,目的就是为了防止短时间内多次触发事件 节流函数一般为了降低函数执行频率,比如滚动滚动 # 按需引入 按需引入本质上是为项目瘦身,开发者在做 React 项目的时候...# 操作原生 DOM 需要必须一些 js 实现复杂动画效果时,那么可以获取原生 DOM ,然后单独操作 DOM 实现动画功能,这样就避免了 setState 改变带来 React Fiber 深度调和渲染影响...destory 一些清除定时器/延时器操作 # 合理使用 state React 并不像 Vue.js 那样响应式数据流。... Vue.js 中有专门 dep 依赖收集,可以自动收集字符串模版依赖项,只要没有引用 data 数据, 通过 this.aaa = bbb , Vue.js 是不会更新渲染

1.3K10

项目中由浅入深学习react (2)

序列文章 从项目中由浅入深学习vue,微信小程序和快应用(1) 前言 从pc(dva+umi)和mobile(原生react)两个项目来介绍react使用 搞懂这两个项目,上手撸react代码so-easy...技能点分析 技能点 对应api 3种定义react组件方法 1.函数式定义无状态组件; 2.es5原生方式React.createClass定义组件; 3.es6形式extends React.Component...方法映射 react-loadable 代码分割,相当于vue-router路由懒加载 classNames 动态css类 2.react-pc-template篇 2.1效果图 react-pc-template...:基于react和ant-pc后台解决方案 2.4适配方案 左侧固定宽度,右侧自适应 右侧导航分别配置滚动条.控制整个page 2.5技能点分析 技能点 对应api 路由 基于umi,里面有push...model和dom是通过@connect()连接并将部分属性添加到props里 登陆 登陆是通过入口js里面路由判断

1.4K40

【前端词典】4 种滚动吸顶实现方式比较

前言 我入职第二家公司接到第一个需求就是修复之前外包滚动吸顶效果。...后来项目中总会遇到滚动吸顶效果需要实现,现在我将我知道 4 种滚动吸顶实现方式详细介绍。...粘性定位 sticky 相当于相对定位 relative 和固定定位 fixed 结合;页面元素滚动过程,某个元素距离其父元素距离达到 sticky 粘性定位要求时;元素相对定位 relative...这样实现固然可以,不过由于 JQuery 慢慢退出历史舞台,我们代码尽量不使用 JQuery API。我们可以基于 offset().top 源码自己处理原生 offsetTop。...解决方案: 还记得第一种方案 position:sticky ?这个属性 IOS6 以上系统中有良好兼容性,所以我们可以区分 IOS 和 Android 设备两种处理。

2.4K60

web 环境运行 react-native 页面

背景 近两年来react-native构造原生应用异常火爆,app中用来替代H5页面可以明显提升用户体验,但是一些场景是需要配套web版本,比如分享、seo或者react-native报错时降级方案等...由于react-native页面都是基于react-native基础组件和API或者自己实现module,react-native页面的代码是完全可以复用。...1 . web为了保持和react-native布局保持一致,页面固定一屏高度采用absolute + overflow:scoll局部滚动布局,IOS下滚动到页面顶部或者底部有回弹效果这时如果再向相反方向滚动页面导致页面无法滚动...,如下图: 解决方案:去掉固定一屏高度和局部滚动布局,采用常规布局。...由于preact去掉了合成事件,所有的事件都是绑定到dom上,对应react-native触摸手势事件需要用原生事件替代,组件上手势事件prop改为原生touch事件prop。

4K01

【前端词典】4 (+1)种滚动吸顶实现方式比较

后来项目中总会遇到滚动吸顶效果需要实现,现在我将我知道 4 种滚动吸顶实现方式详细介绍。...粘性定位 sticky 相当于相对定位 relative 和固定定位 fixed 结合;页面元素滚动过程,某个元素距离其父元素距离达到 sticky 粘性定位要求时;元素相对定位 relative...这样实现固然可以,不过由于 JQuery 慢慢退出历史舞台,我们代码尽量不使用 JQuery API。我们可以基于 offset().top 源码自己处理原生 offsetTop。...解决方案: 还记得第一种方案 position:sticky ?这个属性 IOS6 以上系统中有良好兼容性,所以我们可以区分 IOS 和 Android 设备两种处理。...大概支持了 60% 以上,项目中还是可以使用(你需要做好兼容性处理)。 关于 IntersectionObserver 如何使用,请看 MDN 或者 阮一峰教程。

2.1K30

mini react-window(一) 实现固定高度虚拟滚动

我们平常开发不可避免会有很多列表渲染逻辑, pc 端可以使用分页进行渲染数限制,移动端可以使用下拉加载更多。...,实现赖加载,但是如果内容越来越多会引起大量重排和重绘虚拟列表,可视区域有限,看到数据有限,在用户滚动时,指渲染可是区域内内容即可,dom 少,渲染少 github 上也有很多针对 react 虚拟滚动库...固定高度场景这种场景我们已知每一项渲染高度,可以根据渲染个数计算出整体高度,我们只需要对可是区域内渲染进行渲染计算即可。...实现 FixedSizeList 组件时我们要注意我们没有直接写, react-window 提供了固定高度非固定等几种虚拟滚动场景,但是对于包裹元素来说基本都是一致,只是具体场景元素处理有不同...图片本小节我们实现了固定高度虚拟列表,代码不是很多,感兴趣小伙伴可以自己动手实现自己虚拟滚动库,下一小节我们继续实现其他场景下滚动列表,如有问题欢迎留言讨论。

1.7K50

Vue,React,微信小程序,快应用,TS 和 Koa 一把梭

+iconfont(阿里) 2.1.3.适配方案 左侧固定宽度,右侧自适应 左侧导航和右侧导航分别配置滚动条 2.1.4.技能点分析 技能点 对应api 常用指令 @(v-on)绑定事件, v-if/v-show...redux mui:集成reactrouter和redux ant-design-pro:基于react和ant-pc后台解决方案 3.2.3适配方案 左侧固定宽度,右侧自适应 右侧导航分别配置滚动条...组件传值 父子:props,平级redux或umirouter model 项目的model和dom是通过@connect()连接并将部分属性添加到props里 登陆 登陆是通过入口js里面路由判断...里面subPackages属性定义分包路由 weui组件 weui官网 原生组件 微信原生组件 业务组件 json文件usingComponents注册 组件通讯 定义globalData,storage...)和protected(可以被其自身以及其子类和父类访问)默认public,是不是有点Java味道 6.6问题来了 1.怎么项目手动配置ts?

3K20

精读《深入了解现代浏览器四》

为了更好理解这句话,先要解释输入合成器是什么: 输入:不仅包括输入框输入,其实所有用户操作浏览器眼中都是输入,比如滚动、点击、鼠标移动等等。..."non-fast" 滚动区域 由于 js 代码可以绑定事件监听,而且事件监听存在一种 preventDefault() API 可以阻止事件原生效果比如滚动,所以一个页面,浏览器会对所有创建了此监听区块标记为...因为在这个区域触发事件时,合成器必须渲染进程通信,让渲染进程执行 js 事件监听代码并获得用户指令,比如是否调用了 preventDefault() 来阻止滚动?...然而这并不是设备性能差导致,因为滚动合成器发生,如果它可以不与渲染进程通信,那么即便是 500 元安卓机也可以流畅滚动。...为了解决这个问题,浏览器针对可能导致积压事件,比如滚动事件时,将多个事件合并到一次 js ,仅保留最终状态。

65210

webview 和 React Native 吸顶效果实现

一前言 跨端开发,离不开一些吸顶交互场景,可以参考淘宝或是京东类电商 app 中一些 tab ,整个容器滑动过程,吸顶效果非常连贯和丝滑,当然这些 tab 可能是用 native 开发...目标区域屏幕可见时,它行为就像 position:relative; 而当页面滚动超出目标区域时,它表现就像 position:fixed,它会固定在目标位置。...sticky 和 absolute 定位属性 ios 上表现不友好, scrollview 等视图容器组件内部滚动时候,可能存在抖动问题,这样用户体验非常差。...,这些组件并非是原生组件,都是各个平台底层基于原生 DOM 元素和 EventListener 封装。...四 总结 本文介绍了跨端开发,webview 和 React Native 实现吸顶主流方式,希望能给此类功能同学提供一个解决思路。

2.9K10

Taro | 高性能小程序最佳实践

作为一个开放式跨端跨框架解决方案,Taro 大量小程序和 H5 应用得到了广泛应用,同时也经常收到开发者反馈,例如“渲染速度较慢”、“滑动不够流畅”、“性能与原生应用相比有差距” 等。...使用 Prerender 非常简单,只需项目根目录下 config 文件夹中找到 index.js/dev.js/prod.js 三者任意一个项目配置文件,并根据项目情况进行修改。...需要注意是,由于这是全局设置,可能会带来一些问题,例如: •原生自定义组件时,flex 布局会失效(这是影响最大问题); • SelectorQuery.select 方法,跨自定义组件后代选择器写法需要增加...它们原理是只渲染当前可见区域(Visible Viewport)视图,非可见区域视图在用户滚动到可见区域时再进行渲染,以提高长列表滚动流畅性。...,比如 Map 组件,即使使用样式固定宽高也无法阻止滚动,因为这些组件本身具有滚动功能。

25910

TDesign 更新周报(2022 年 5 月第 2 周)

Slider: 修复 InputProps 属性传递布尔值时 ts 错误问题 Table: 固定滚动阴影修复 Dropdown: 插槽模式下 maxHeight 失效问题 Dropdown: 透传...popup 事件问题 Dialog: 修复 normal 下加入 lock 导致页面无法滚动问题 Table: 修正拖拽列款边界条件判断 Progress: 修复环形进度条显示比例不准确 详情见:..., 拼写错误 popconfirm: 修复箭头 trigger 属性 dialog: 修复初始化且为显示时 lock 问题 breadcrumb: 修复弹出 tooltip 异常 input: 修复...Features 完善 Input 原生属性 完善 change 事件,增加返回 cursor 和 keyCode 数据 增加 keyboardheightchange 事件,键盘高度发生变化时候触发...,用户选择头像 Input: 支持 borderless 属性Bug Fixes Picker: 修复没有取消和确认按钮时候,标题没居中对齐问题 Sticky: 修复极端情况下报错问题 详情见

1.6K40

了解虚拟列表背后原理,轻松实现虚拟列表

项目中,大数据渲染常常遇到,比如umy-ui(ux-table)虚拟列表table组件,vue-virtual-scroller以及react-virtualized 这些优秀插件快速满足业务需要...为了理解插件背后原理机制,我们实现一个自己简易版虚拟列表,希望实际业务项目中能带来一些思考和帮助。 正文开始... 虚拟列表是什么 大数据渲染,选择一段可视区域显示对应数据。...我们先初步看一个图 在这张展示图中,我们可以看到我们展示始终是红色线虚线展示部分,每一个元素固定高度,被一个很大高度元素包裹着,并且最外层有一个固定高度容器,并且设置可以滚动。...如果不先隐藏,那么会打开页面的时候会有插值表达式,vue中提供了一个v-cloak,但是貌似这里不管用,vue2可以。...总结 了解虚拟列表到底是什么,大数据渲染,选择一段可视区域显示对应数据 实现虚拟列表背后原理,最外层给定一个固定高度,然后设置纵向Y轴滚动,然后每个元素父级设置相对定位,设置真实展示数据高度

3.2K10

聊聊移动端动态化由来和各流派优缺点

大家所认知早期互联网,其实就是各种各类“动态网站”,内容数据和页面外观都不是固定,都是随着服务器端更新而更新,让用户可以很及时地看到最新内容。...从一开始基于 WebView Hybrid 方案 PhoneGap、Titanium,到现在原生相结合 React Native 、Weex,甚至 Flutter,都被或多或少地使用到不同移动应用...以我们团队为例,目前选择了Native+小程序结合,通过APP引入 FinClip小程序容器技术,让App具备小程序运行环境。从而实现这种基于小程序Hybrid方案。...小程序运行时本质上是一个处理Web页面渲染、数据逻辑交互虚拟机,这个虚拟机提供了丰富原生能力供小程序调用(API、组件、AI能力等),极大拓展了Web应用能力边界,尤其是诸如滚动视图(scrool-view...)、导航(navigator)、图片预览(cover-image)等组件提供,使得前端开发人员使用现有的web前端技术,就可以开发出接近原生体验应用。

48300

收藏夹吃灰了:GitHub 上值得收藏100个精选前端项目

toby 超级赞收集协作管理书签chrome插件,前端开发应该都会用chrome。全球超过10W+用户。...流构建系统,只有原生几个api,和庞大插件生态,使用非常简单  star: 30196 yo 基于node一个强健项目脚手架工具,可以非常方便构建一个初始项目,有各种类型项目的脚手架  star...noder初始项目,拥有完整系统架构用户系统(第三方登录)  star: 24457 nest 完全使用typescript编写服务端框架,相比传统nodejs项目,可维护性、健壮性、可重构性大大加强...缺点:总感觉样子不是很好看,没有现代那种风格,还是老式传统图标  star: 1287 view dillinger 一个完整基于nodeangular可以直接部署md项目可以学习整个项目架构...taro 一套遵循 React 语法规范 多端开发 解决方案, 有一套代码多端编译,适用小程序原生app  star: 7296 view ink 用react开发命令行交互工具,很酷  star

2.2K30
领券