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

React原生onScrollBeginDrag对滚动响应不是很好

React原生的onScrollBeginDrag对滚动响应不是很好是因为React的事件系统在处理滚动事件时存在一些性能上的限制。当页面中存在大量的滚动元素时,React的事件系统可能会出现性能瓶颈,导致滚动响应不够流畅。

为了解决这个问题,可以考虑使用第三方库来优化滚动性能,例如react-virtualized或react-window。这些库使用了虚拟滚动的技术,只渲染可见区域的内容,大大减少了DOM操作和重绘的次数,提高了滚动的性能和响应速度。

虚拟滚动适用于需要展示大量数据的场景,比如聊天记录、日志列表等。通过使用虚拟滚动,可以避免渲染大量的DOM节点,减少内存占用和页面加载时间。

对于React开发者来说,推荐使用腾讯云的云开发服务。云开发提供了一站式的云端开发解决方案,包括前端开发、后端开发、数据库、存储等功能。通过云开发,开发者可以快速搭建应用,无需关注服务器运维和基础设施搭建。

腾讯云云开发产品介绍链接:https://cloud.tencent.com/product/tcb

总结:React原生的onScrollBeginDrag对滚动响应不是很好,可以通过使用第三方库来优化滚动性能,如react-virtualized或react-window。对于React开发者,推荐使用腾讯云的云开发服务,提供一站式的云端开发解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

"non-fast" 滚动区域 由于 js 代码可以绑定事件监听,而且事件监听中存在一种 preventDefault() 的 API 可以阻止事件的原生效果比如滚动,所以在一个页面中,浏览器会对所有创建了此监听的区块标记为...然而这并不是设备性能差导致的,因为滚动是在合成器发生的,如果它可以不与渲染进程通信,那么即便是 500 元的安卓机也可以流畅的滚动。...因为这个判断不会发生在渲染进程,所以不会导致合成器与渲染进程的通信: #area { touch-action: pan-x; } 事件合并 由于事件触发频率可能比浏览器帧率还要高(1 秒 120 次),如果浏览器坚持对每个事件都进行响应... ) 虽然结论如此而且对性能友好,但并不是一个让所有人都能满意的方案,我们看看当时 Dan 是如何思考,并给了哪些解决方案的。...的,而其它节点的不会,因此对 React 17 来说,如果什么都不做,仅改变绑定节点位置,就会存在一个 Break Change。

69810

前端插件以及部分细分网址梳理

Rails 来模块化前端应用,兼容性良好 (兼容到 IE6),插件丰富,性能良好 jquery.smartbanner: smartbanner 是从 IOS6 开始支持的一个新特性, 这个插件提供了对早期...(进入、退出等),性能很好 ScrollMagic: 神奇的滚动交互效果插件,可以在滚动的过程中设置各种各样的动态效果 infinite-scroll: 滚动加载,滚动到最下到自动加载, Paul Irish...: Angular 插件, 提供了对 localStorage 的友好支持, 并对不支持的浏览器使用 cookie 优雅降级 angular-filter: 一组有用的 Angular Filters...阮一峰Redux 入门教程 react: React 框架源代码 react-native: Facebook 出品的使用 React 开发 IOS 原生应用的框架 react-hot-loader:...mui 最接近原生APP体验的高性能前端框架 http://dev.dcloud.net.cn/mui/ AntDesign 和react配合的UI框架https://ant.design elemeJS

5.7K90
  • 移动跨平台框架ReactNative滚动视图ScrollView【17】

    它不会生成原生 UI 组件,而是基于 React,React Native 是一个用于构建基于 Web 的交互界面的 JavaScript 库,因此会有更丰富的 UI 体验效果,同时也能够很好地调用底层框架的...React Native 滚动视图 ScrollView 低头一族的我们,每天花大把大把的时间拉啊拉啊。...当屏幕的内容超过一屏时,我们很熟练的往上拉一点就可以看到剩下的内容了,这时候右边还会滚动条告诉我们这是可以往上拉的。 这看起来很简单的内容,并不是每个 React Native 组件天生都自带的。...并不是每个组件要显示的内容超过一屏时可以往上拉。 那个我们所熟悉的组件之母 `` 就不支持这种操作。 例如下面的代码,我们在一个 `` 中显示一组 语言 时,超过的部分就被截掉了。...ScrollView 滚动视图组件 `` 滚动视图组件,顾名思义,就是当内容超过指定的高度时会可以通过滑动来显示,右边还会显示滚动条。 `` 的使用很简单,只要包括在要滚动的组件外面就可以了。

    1.4K20

    14个最好的 JavaScript 数据可视化库

    Victory 在基础方面做得很好 —— 例如坐标轴定制、标签、为单个图表传递不同的数据集都非常简单,并且对样式和行为进行调整时非常简单直观。它真的很好用,能让你用最少的代码创建漂亮的图表。...这个库比较新,还有很大的发展空间,但如果响应性和互动性对你来说特别重要,那么这个漂亮的库是值得一试的!...Chart.js 默认为你提供六种不同的图表类型,它支持响应式,并且对初学者非常友好。它也是我处理大数据集时的首选库。绝对是最有趣的开源库之一。...然而,对我来说,在大多数情况下,这个库有点过分,坦率地说我不建议使用它。 它是免费的,但不是开源的(和每个 Google 产品一样)。它在默认情况下不是响应式的,但你可以使用代码调整图表大小。...最近我的一位同事带我体验了它,让我告诉你,这并不是很愉快。当你不是在深入到代码层摆弄它时,它很好用,但是当你想要。。。这是一件苦差事。

    6K30

    这11个有趣的 CSS 和 JavaScript 库太实用了!

    Nachos UI Nachos UI 是具有30多个组件的React Native组件库。这些组件也可以通过react-native-web在Web上运行。...FitVids.js FitVids.js是一个轻量级的jQuery响应式视频插件,他可以实现流体视频的嵌入。FitVids.js应用了内在的比例算法,在你的响应网页上实现视频的流体宽度。...Moveto MoveTo 是一个 JavaScript 库,用于在单击按钮时创建滚动动画。有趣的是,这个库在使用 gzip 压缩时只有 1kg,并且不依赖于 jQuery 或其他任何东西。...它使用起来非常简单,并且使用 window.scroll 原生 API 来制作动画效果很好。 地址:https://hsnaydd.github.io/moveTo/ 10....rellax.js 是一款轻量级的不需要任何依赖的纯JavaScript滚动视觉差特效插件。 地址:https://dixonandmoe.com/rellax/

    1.5K40

    React项目中如何实现一个简单的锚点目录定位

    前言 锚点目录定位功能在长页面和文档类网站中非常常见,它可以让用户快速定位到页面中的某个章节 如何在React中实现锚点定位和平滑滚动 目录自动高亮的实现思路 处理顶部导航遮挡锚点的解决方案 服务端渲染下的实现方案...原生scrollIntoView方法 useScrollIntoView内部其实就是使用了原生的scrollIntoView方法,所以我们也可以直接调用: function App() { const...响应式问题 在响应式场景下,目录的遮挡问题会更复杂。我们需要区分不同断点下,计算匹配的offset。...} }); return { chapters: mappedChapters }; }; hydrate处理 客户端脚本加载后,需要调用ReactDOM.hydrate而不是...简单来说就是: 在服务端渲染时,读取路由参数,提前计算高亮状态 将高亮数据注入到响应中 客户端拿到注水的数据后渲染,不会出现高亮错位 实现步骤: 1.服务端获取参数和数据 // 在getServerSideProps

    1.2K20

    干货 | 携程机票RN复杂交互实践

    作者简介 海涛,携程前端开发工程师,负责机票主流程预订、React Native技术栈相关开发工作。...前言 本文将主要介绍在携程中文APP国内机票模块中,对往返机票的预定流程改造期间,在React Native中进行复杂动画、手势交互的经验总结,包括复杂交互对于RN页面的性能开销,以及在不断解决问题的过程中总结出来的实践方案...当一个View仅用于布局时,它可能会为了优化而从原生布局树中移除,该属性默认开启。..._isNative来设置collapsable属性,但是并不是在所有场景下都会生效,如果组件没有触发Re-Render则没有去强制设置该属性。...四、成果对比 经过优化,将连续快速切换去程、返程状态的手势动画从帧率40帧左右提升到了59帧左右,动画性能得到了很好的改善。优化前后的效果图如下所示。 ? 优化前 ?

    4.8K20

    浏览器要原生实现React的并发更新了?

    围绕并发更新,存在两个很有意思的现象: 很多开发者听说过他 很少开发者直接使用过他 这两个现象看似矛盾,其实很好解释 —— React18之后的新特性,主要是面向上层框架的(主要是Next.js)。...而现在,一个试验性浏览器API —— View Transitions API将原生实现「视图切换」功能。 他到底有什么用?如果其他框架使用它,是不是能获得React同样的并发更新能力?...视图切换时如何处理页面滚动位置、光标聚焦(focus)位置? 对于使用屏幕阅读器的盲人,视图切换时阅读器会朗读什么? 除此之外,不同场景下的「视图切换」实现细节也不同。...与 React 的区别 浏览器原生的View Transitions API与React中的useTransition相比,谁更强大呢? 毫无疑问,前者更强大。...而在React中,使用useTransition后,与其说完成的是「视图切换」,不如说完成的是: 首先,完成状态的切换 React内部再将状态变化映射到视图变化 本质来说,操作视图的是React,而不是开发者

    17210

    一个新视角:前端框架们都卷错方向了?

    一位有32年开发经验的老程序员在他的博文get-in-zoomer-we-re-saving-react[1]中提出了不同的观点。 本文是对该博文的部分解读。 对应用来说,什么才是重要的?...如果一个页面中某些交互类似IOS原生应用,我们会说这个页面交互做的很棒。 所以,虽然「速度快」是交互体验中重要的一环,但绝不是全部,还有大量细节值得考虑。...响应式系统 Mac OS X是第一款声称自己为「响应式」的操作系统。在此之前,业界的效仿对象是Windows操作系统。 在Windows中,数据是「非响应式」的。...比如,当前连续事件(Continuous Events,指连续触发的事件,比如鼠标事件、滚动事件)触发的频率、速度通常比 React重新渲染的速度要快,容易造成不好的用户体验。...这里是不是有很大优化空间呢? 除了React外,其他框架是不是也能从这个角度考虑发展方向呢? 你认为前端框架的发展方向走歪了么?

    64220

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

    plainjs 该仓库都是用原生js写的插件和组件,非常实用,该网站的资源都托管到了github。...并有拥有强大sass compass的生态圈,可以直接引入并使用,sass是由ruby编写的,node-sass是node重构版本,方便npm直接使用  star: 5445 postcss 用js插件来对css... star: 24488 onepage-scroll 可以轻松建立一个动感的响应式的滚动效果页面,比较适用于单页面的专题站。...缺点:总感觉样子不是很好看,没有现代那种风格,还是老式的传统图标  star: 1287 view dillinger 一个完整的基于node与angular的可以直接部署md项目,可以学习整个项目架构...taro 一套遵循 React 语法规范的 多端开发 解决方案, 有一套代码多端编译,适用小程序与原生app  star: 7296 view ink 用react开发命令行交互工具,很酷  star

    2.4K30

    『前端大事记』之「几件大事」

    UI 更新不再需要在三个不同的线程上执行,而是可以在任意线程上同步调用 JavaScript 进行优先更新,同时将低优先级工作推出主线程,以便保持对 UI 的响应 其次,将异步渲染功能引入 React...2、绚丽 UI 通过 Flutter 内建的漂亮的质感设计和 Cupertino(ios-flavor)小工具、丰富的动画 api,平滑的自然滚动和平台感知,让用户感到满意。...3、响应式框架 通过 Flutter 的现代响应式 (Reactive) 框架和丰富的平台布局和基础组件轻松构建您的用户界面。用强大而灵活的 apis 解决 2D、动画、手势、效果等难题。...前端的变化多端,前端技术的层出不穷,是不是感觉前端技术变天比女人变脸还快?...面对千变万化的前端,我对大家只有一个忠告和建议:以不变应万变,这个不变的就是学习。

    1.6K20

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

    前言 前端生态越来越繁华,随着资本寒冬的来临,对前端招聘要求也变高了; 本文将从项目出发由浅入深做一个Vue,React,微信小程序,快应用,TS和 Koa的知识大串联; 相当于一篇文章搞定前端目前主流技术栈...:UI组件 iconfont:字体icon 3.1.3适配方案 rem适配 3.1.4技能点分析 技能点 对应的api 3种定义react组件方法 1.函数式定义的无状态组件; 2.es5原生方式React.createClass...react的router和redux ant-design-pro:基于react和ant-pc的中后台解决方案 3.2.3适配方案 左侧固定宽度,右侧自适应 右侧导航分别配置滚动条.控制整个page...接口是公共属性或方法的集合,可以通过类去实现; 对象只是键值对的实例 4.类class和函数的区别? 类是关键字class,函数是function 类可以实现接口 5.接口实现继承方法?...:获取响应头字段;set:设置响应头;append:添加响应头;type:响应类型;lastModified:返回为 Date, 如果存在;etag:设置缓存 7.7 koa-router主要API

    3.1K20

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

    ,使用样式固定宽高也无法阻止滚动,因为这些组件本身就具有滚动的能力。...这时候可以为 View 组件增加 catchMove 属性: // 这个 View 组件会绑定 catchtouchmove 事件而不是 bindtouchmove ...它的作用是创建一个原生自定义组件,对后代节点的 setData 将由此自定义组件进行调用,达到局部更新的效果。 开发者可以使用它去包裹遇到更新性能问题的模块,提升更新时的性能。...自此完全同步了 wxparse 的能力,开发者使用 React 的 dangerouslySetInnerHTML 或 Vue 的 v-html 即可很好地解析 HTML 文本,不需要单独引入第三方自定义组件去进行解析...Taro3 与原生项目混合 过去我们对在 Taro 项目中混合使用原生的支持度较高。相反地,对在原生项目中混合使用 Taro 却没有太重视。

    1.1K10

    GitHub 上100个优质前端项目整理,非常全面!

    plainjs 该仓库都是用原生js写的插件和组件,非常实用,该网站的资源都托管到了github。...并有拥有强大sass compass的生态圈,可以直接引入并使用,sass是由ruby编写的,node-sass是node重构版本,方便npm直接使用 star: 5445 ● postcss 用js插件来对css...star: 24488 ● onepage-scroll 可以轻松建立一个动感的响应式的滚动效果页面,比较适用于单页面的专题站。...缺点:总感觉样子不是很好看,没有现代那种风格,还是老式的传统图标 star: 1287 view ● dillinger 一个完整的基于node与angular的可以直接部署md项目,可以学习整个项目架构...开发框架 star: 6364 view ● taro 一套遵循 React 语法规范的 多端开发 解决方案, 有一套代码多端编译,适用小程序与原生app star: 7296 view ●

    3.1K21

    移动跨平台框架React Native 基础教程【01】

    它不会生成原生 UI 组件,而是基于 React,React Native 是一个用于构建基于 Web 的交互界面的 JavaScript 库,因此会有更丰富的 UI 体验效果,同时也能够很好地调用底层框架的...AsyncStorage 14-ReactNative动画组件Animated 15-ReactNative开关组件Switch 16-状态栏组件StatusBar 17-ReactNative滚动视图...使用 React Native,你不是在构建移动 Web 应用程序,也不是在构建 HTML5 应用程序,更不是在构建混合应用程序。...React 是一个视觉框架,使用 JavaScript 来构建网页和移动网页。 原生 React Native 内置了大量的原生组件,这比 Web APP 有着更强大的性能。...即便如此,我们仍然选择 React Native,为什么? JavaScript。 完全采用 JavaScript 语言。而不是某些不伦不类的看似 JS 又不是 JS 的语言。

    2.3K20

    字节前端二面react面试题(边面边更)_2023-03-13

    区别:对于事件名称命名方式,原生事件为全小写,react 事件采用小驼峰;对于事件函数处理语法,原生事件为字符串,react 事件为函数;react 事件不能采用 return false 的方式来阻止浏览器的默认行为...原因高阶组件就是高阶函数,而React的组件本身就是纯粹的函数,所以高阶函数对React来说易如反掌。...当然不是。这里的复杂性很大程度上来自于:我们总是将两个难以理清的概念混淆在一起:变化和异步。 可以称它们为曼妥思和可乐。如果把二者分开,能做的很好,但混到一起,就变得一团糟。...对React中Fragment的理解,它的使用场景是什么?在React中,组件返回的元素只能有一个根元素。...// 捕获滚动位置以便我们稍后调整滚动位置。

    1.8K10
    领券