首页 > 编程语言 >如何使您的 React 应用程序更快:性能提示和最佳实践

如何使您的 React 应用程序更快:性能提示和最佳实践

时间:2024-09-22 09:37:47浏览次数:1  
标签:react gt const 提示 应用程序 React return 加载

啊,反应!我们喜爱的用于构建 ui 的库。它就像一剂神奇的药剂,让我们的网络应用程序感觉具有交互性和快速性——直到有一天,它却没有了。突然,你注意到事情变慢了。点击按钮就像用信鸽寄信一样。您的应用程序从快如闪电变成了慢吞吞,用户开始给您“看”。不过别担心!就像咖啡可以解决大部分生活问题一样(或者我们是这么认为的),一些关键技术可以增强你的 react 应用程序并使其恢复到最高速度。让我们探索 6 种简单的方法来优化你的 react 应用程序,这样它比你每天喝咖啡因的速度更快。 1.代码分割:仅加载您需要的曾经走进一个房间,打开所有的灯,然后意识到你只需要一盏灯吗?当你将所有内容捆绑成一大块时,这就是你的 react 应用程序所做的事情。相反,通过代码分割,您只需加载应用程序当前需要的部分。就像逐个房间打开灯一样!使用 react.lazy() 和 suspense 是实现此目的的完美方法:import react, { suspense } from 'react';const lazycomponent = react.lazy(() =&gt; import('./lazycomponent'));const app = () =&gt; { return ( <suspense fallback="{&lt;div">loading...}&gt; <lazycomponent></lazycomponent></suspense> );}登录后复制为什么有帮助:代码分割通过将未使用的代码的加载推迟到必要时来减少应用程序的初始加载时间。用户无需等待整个应用程序加载即可看到屏幕上的内容。 2.延迟加载图像:不要一次加载所有零食想象一下,订购一份披萨,却收到了一年的食品杂货。听起来很荒谬,对吧?好吧,这就是当您预先加载所有图像时会发生的情况。相反,延迟加载图像,因此您只获取必要的图像,就像一次订购一份披萨一样。使用像react-lazyload这样的库是一个快速解决方案:import lazyload from 'react-lazyload';<lazyload height="{200}" offset="{100}"> @@##@@</lazyload>登录后复制为什么有用:通过延迟加载图像,您可以减少初始页面加载时间,并且仅在需要时下载图像,从而提高性能和用户体验。 3. usecallback 和 usememo:react 的内存提升就像你不断重复使用同一个咖啡杯以节省清洗时间一样,如果你允许,react 可以重复使用值和函数! usecallback 和 usememo 是帮助您存储昂贵的计算或函数的钩子,因此它们不会在每次渲染时重新计算。usememo 示例:const expensivecalculation = (num) =&gt; { return num ** 2;};const mycomponent = ({ num }) =&gt; { const squarednumber = react.usememo(() =&gt; expensivecalculation(num), [num]); return <div>{squarednumber}</div>;}登录后复制usecallback 示例:const handleclick = usecallback(() =&gt; { console.log("clicked");}, []);登录后复制为什么有帮助:使用 usememo,react 不必重做昂贵的计算。 usecallback 会阻止您在每次渲染时创建新函数。这可以让 react 平稳运行——就像升级 ram 一样! 4.使用 react.memo 进行记忆:停止不必要的重新渲染你有没有一个朋友一遍又一遍地重复同一个故事? react 也可以像这样——即使不需要,也会重新渲染组件!这就是 react.memo 的用武之地,它阻止 react 重新渲染组件,除非它们的 props 发生变化。const mycomponent = react.memo(({ value }) =&gt; { return <div>{value}</div>;});登录后复制为什么有帮助:react.memo 就像告诉 react,“嘿,你以前听过这个!除非有新的东西,否则不要重复。”它避免了不必要的重新渲染,节省了时间和资源。 5.高效管理状态:仅在需要时才提升状态提升状态是 react 中的常见模式,但有时我们会因为将状态提升得太高或在错误的位置管理太多状态而感到内疚。这可能会导致过度的重新渲染。尽可能保持组件本地状态,并仅在真正必要时提升状态来避免不必要的重新渲染。const parentcomponent = () =&gt; { const [sharedstate, setsharedstate] = usestate(false); return ( <childcomponent sharedstate="{sharedstate}"></childcomponent><anotherchild setsharedstate="{setsharedstate}"></anotherchild>&gt; );}const childcomponent = ({ sharedstate }) =&gt; { return <div>{sharedstate ? 'active' : 'inactive'}</div>;}const anotherchild = ({ setsharedstate }) =&gt; { return <button onclick="{()"> setsharedstate(true)}&gt;activate</button>;}登录后复制为什么有帮助:通过更仔细地管理状态并仅在需要时提升它,您可以避免兄弟组件不必要的重新渲染。这可以让您的应用保持专注和高效。 6.消除用户输入的抖动:冷静下来,做出反应!想象一下有人疯狂地在搜索栏中输入内容,而您的应用程序试图处理每一次击键。糟糕的react可能是子弹出汗了!输入去抖动——仅在用户暂停后处理输入的过程,而不是在每次按键时处理输入。使用lodash.debounce可以解决这个问题:import _ from 'lodash';const Search = () =&gt; { const [query, setQuery] = useState(''); const debouncedSearch = _.debounce((input) =&gt; { // Do your search logic console.log(input); }, 500); const handleChange = (e) =&gt; { setQuery(e?.target?.value); debouncedSearch(e?.target?.value); }; return <input type="text" value="{query}" onchange="{handleChange}">;}登录后复制为什么有帮助:react 不会在每次击键时都陷入恐慌,反跳动让它可以喘口气。这可以确保在处理实时用户输入(例如搜索或表单字段)时获得更好的性能。结论:优化 react 应用程序并不是什么火箭科学——它更像是确保你不会一口气喝掉六杯咖啡!从代码分割到延迟加载图像,这些技术将帮助您保持 react 应用程序的快速响应。因此,下次当你的应用程序开始感觉迟缓时,请记住:这不是 react 的错——它只是需要一点优化!请记住,优化 react 应用程序是一种平衡。您不需要立即投入所有这些技术。相反,确定您的应用程序的瓶颈,应用适当的优化,然后观察您的应用程序变得比您喝完咖啡的速度还要快!感谢您的阅读,如果您喜欢这篇文章,请分享并留下建议。 与我联系网站:hardik gohilgithub:https://github.com/hardikgohilhlrlinkedin:https://www.linkedin.com/in/hardikgohilhlr谢谢?? 以上就是如何使您的 React 应用程序更快:性能提示和最佳实践的详细内容,更多请关注我的其它相关文章!

标签:react,gt,const,提示,应用程序,React,return,加载
From: https://www.cnblogs.com/aow054/p/18424905

相关文章

  • 如何使用 AWS 部署带有自定义域的 React 项目?
    使用aws(amazonwebservices)等云提供商通过自定义域部署react应用程序可能看起来令人畏惧,但当分解为可管理的步骤时,它就很简单。在本文中,我们将指导您完成从构建应用程序到使其在您的自定义域上运行的整个过程。当您准备好与世界分享您的react项目时,使用自定义域部署它可以为......
  • 如何使用 Electronjs 创建跨平台桌面应用程序
    在当今的软件开发环境中,构建跨不同操作系统无缝运行的应用程序比以往任何时候都更加重要。无论您的目标是windows、macos还是linux,electron.js都提供了一个强大的框架,可以使用熟悉的web技术创建桌面应用程序。本文将指导您完成设置electron环境、创建应用程序ui、与node......
  • 如何使用 React Router DOM
    介绍欢迎来到我们关于reactrouterdom的深入教程!如果您是一名ui开发人员,希望通过动态路由功能增强react应用程序,那么您来对地方了。reactrouterdom是一个功能强大的库,允许您创建具有多个视图的单页面应用程序,同时保持流畅、无缝的用户体验。在这份综合指南中,我们将引导......
  • 在画中画窗口中安装 React 组件
    google在chrome116中引入了documentpictureinpictureapi。在本文中,我们将探讨如何在画中画窗口中安装一个简单的react组件,而无需先将其安装在我们的主应用程序上。第1步-设置组件结构我们制造两个组件。maincomponent.js和counter.js。在maincomponent.js中,我们......
  • 在网站中实现 React tsarticles
    react-tsarticles是一个功能强大的库,可让您向react应用程序添加可自定义的粒子动画。在本指南中,我们将逐步介绍在您的项目中实现react-tsparticles的过程。安装首先,您需要安装必要的软件包。打开终端并运行以下命令:npminstalltsparticles@tsparticles/react登录后复制这将......
  • 增强 React 列表渲染:干净且可重用的模式
    作为react开发人员,我们都遇到过需要渲染数据列表的场景。虽然.map()方法效果很好,但每次渲染列表时重复相同的逻辑可能会让人筋疲力尽,并导致代码重复。幸运的是,有一种更干净、可扩展的方法来处理这个问题,使用可重用组件、高阶组件或自定义挂钩。在本文中,我将分享一种改进react......
  • 在 NGINX 上托管 Angular 应用程序的终极指南
    在nginx服务器上托管angular应用程序可以增强性能,提供更好的安全性,并为生产环境提供更轻松的配置。以下是在nginx上部署angular应用程序的分步指南。先决条件已安装nginx:确保您的服务器上安装了nginx。您可以使用以下命令将其安装在基于linux的系统上:狂欢sudoaptupd......
  • 在 React 中创建自定义 Hook 的最佳技巧
    react的自定义hooks是从组件中删除可重用功能的有效工具。它们支持代码中的dry(不要重复)、可维护性和整洁性。但开发有用的自定义钩子需要牢牢掌握react的基本思想和推荐程序。在这篇文章中,我们将讨论在react中开发自定义钩子的一些最佳策略,并举例说明如何有效地应用它们。......
  • 在 React 中管理同一组件的多个实例中的状态
    当您使用react并拥有同一组件的多个实例时,管理状态可能会变得很棘手。根据组件需要交互的方式,您需要以不同的方式处理状态。这是我发现效果很好的方法。独立实例:将状态保留在组件内部如果您的组件不需要相互通信,最好将它们的状态保留在组件内。这样,每个实例都有自己的状态......
  • 在 React 应用程序中实现简单的页面视图跟踪器
    简介:了解用户参与度对于任何web应用程序都至关重要,而要跟踪的最简单的指标之一就是页面浏览量。在这篇博文中,我们将逐步介绍在react应用程序中实现基本页面视图跟踪器的过程,包括如何使用postman和curl命令获取服务的api密钥。第1步:设置你的react项目首先,让我......