当前位置: 首页 > news >正文

5种可以给网站带来流量的方式黄埔定制型网站建设

5种可以给网站带来流量的方式,黄埔定制型网站建设,网站前端开发框架,动漫网页设计报告使用 useMemo 和 memo 优化 React 应用性能 在构建复杂的 React 应用时#xff0c;性能优化是确保应用流畅运行的关键。React 提供了多种工具来帮助开发者优化组件的渲染和计算逻辑#xff0c;其中 useMemo 和 memo 是两个非常有用的 Hook。本文将详细介绍这两个工具的使用方…使用 useMemo 和 memo 优化 React 应用性能 在构建复杂的 React 应用时性能优化是确保应用流畅运行的关键。React 提供了多种工具来帮助开发者优化组件的渲染和计算逻辑其中 useMemo 和 memo 是两个非常有用的 Hook。本文将详细介绍这两个工具的使用方法及其应用场景。 1. useMemo 的介绍与使用 1.1 什么是 useMemo useMemo 是一个 React Hook用于记忆缓存某些计算结果以避免不必要的重复计算。它接收两个参数一个返回值的计算函数和一个依赖项数组。只有当依赖项发生变化时useMemo 才会重新计算并返回新的值否则它将返回之前缓存的结果。 1.2 useMemo 的语法 const memoizedValue useMemo(() computeExpensiveValue(a, b), [a, b]);computeExpensiveValue(a, b) 是一个计算昂贵值的函数。[a, b] 是依赖项数组只有当这些依赖项发生变化时useMemo 才会重新执行计算。 1.3 示例优化总价计算 在你的 Test2.tsx 组件中total 函数用于计算商品的总价。每次组件重新渲染时total 都会重新计算。为了优化这一点我们可以使用 useMemo 来缓存计算结果 import React, { useState, useMemo } from react;export default function Test2() {const [search, setSearch] useState();const [list, setList] useState([{ id: 1, name: 苹果, price: 10, count: 1 },{ id: 2, name: 小米, price: 20, count: 1 },{ id: 3, name: 华为, price: 30, count: 1 },]);const handleAdd (id: number) {setList(list.map(item item.id id ? { ...item, count: item.count 1 } : item));};const handleSub (id: number) {setList(list.map(item item.count 1 item.id id ? { ...item, count: item.count - 1 } : item));};// 使用 useMemo 缓存总价计算结果const total useMemo(() {return list.reduce((pre, cur) pre cur.price * cur.count, 0);}, [list]);return (divh1父组件/h1input typetext value{search} onChange{(e) setSearch(e.target.value)} /table border{1} cellPadding{5} cellSpacing{0}theadtrth商品名称/thth商品价格/thth商品数量/th/tr/theadtbody{list.map(item (tr key{item.id}td{item.name}/tdtd{item.price * item.count}/tdtdbutton onClick{() handleAdd(item.id)}/buttonspan{item.count}/spanbutton onClick{() handleSub(item.id)}-/button/td/tr))}/tbodytfoottrth scoperow colSpan{1}总价/thtd{total}/td/tr/tfoot/table/div); }在这个例子中useMemo 确保只有当 list 发生变化时才会重新计算 total从而减少了不必要的计算开销。 2. memo 的介绍与使用 2.1 什么是 memo memo 是 React 提供的一个高阶组件HOC用于防止子组件不必要的重新渲染。它通过比较当前和上次渲染的 props 来决定是否需要重新渲染组件。如果 props 没有变化则跳过渲染直接复用之前的渲染结果。 2.2 memo 的语法 const MemoizedComponent React.memo(MyComponent);MyComponent 是你想要优化的组件。React.memo 返回一个新的组件该组件会在 props 没有变化时不重新渲染。 2.3 示例优化子组件渲染 假设我们有一个子组件 ProductItem它负责显示单个商品的信息。我们可以使用 memo 来优化这个组件避免不必要的重新渲染 import React from react; import { memo } from react;interface ProductItemProps {product: { id: number; name: string; price: number; count: number };onAdd: () void;onSub: () void; }const ProductItem: React.FCProductItemProps ({ product, onAdd, onSub }) {console.log(ProductItem rendered);return (tr key{product.id}td{product.name}/tdtd{product.price * product.count}/tdtdbutton onClick{onAdd}/buttonspan{product.count}/spanbutton onClick{onSub}-/button/td/tr); };// 使用 memo 包装 ProductItem 组件 const MemoizedProductItem memo(ProductItem);export default MemoizedProductItem;在这个例子中MemoizedProductItem 只会在其 props 发生变化时重新渲染否则会复用之前的渲染结果从而提高性能。 3. useMemo 和 memo 的区别 作用范围 useMemo 用于优化组件内部的计算逻辑减少不必要的计算。memo 用于优化组件的渲染行为减少不必要的重新渲染。 使用场景 当你在组件内部有复杂的计算逻辑时可以使用 useMemo 来缓存计算结果。当你有一个子组件频繁重新渲染但实际内容没有变化时可以使用 memo 来优化渲染性能。 4. 总结 useMemo 和 memo 是 React 中非常强大的工具能够显著提升应用的性能。合理使用它们可以帮助你避免不必要的计算和渲染从而让应用更加高效和流畅。希望本文能帮助你更好地理解和使用这两个工具为你的 React 应用带来更好的用户体验。
http://www.hkea.cn/news/14544386/

相关文章:

  • wordpress系统设置网站搜索优化怎么做
  • 让自己的电脑做网站的服务器拼多多无货源电商怎么做
  • 求一个旅游网站的代码广东汕头网络科技有限公司
  • 外国设计网站wordpress浏览doc
  • 重庆建设车业官方网站discuzq主题
  • php网站开发好找工作吗计算机平面设计主要学什么
  • 网站建设w亿玛酷1流量订制放网站的服务器吗
  • 余姚网站建设的公司中国建设银行邢台分行网站
  • 电子商务网站与建设课件个人开通微信小程序
  • 博物馆网站 微信 微博 建设无锡app定制
  • 如何自己设计一个网站广告效果图设计
  • 帮做钓鱼网站会怎样一家只做外卖的网站
  • 搜索网站的方法手机互动网站建设
  • 怎么优化网站关键词排名贵州省建设学校官方网站
  • 域名注册的网站网络营销媒体有哪些
  • 网站推广方法及特点南京seo关键词优化预订
  • 如何把网站做好wordpress消息推送
  • 百度网站怎么优化排名网上做头像用什么网站
  • 青岛开发区建网站哪家好高校支付网站建设费需要入无形资产
  • 网站列表设计百度竞价代运营公司
  • 安陆建设局网站施工企业会计核算办法2021
  • 北京知名网站建设公司wordpress企业网站入门
  • access 数据库做网站自媒体官网平台注册
  • 网站百度百科怎么做百度竞价排名广告定价
  • 服装网站建设公司电子商务之网站建设
  • 网站开发公司照片html用户登录注册页面代码
  • 网站只收录主页更改wordpress链接
  • wordpress企业网站源码石家庄专业商城网站制作
  • 售后网站开发需求文档网页app制作入门教程
  • 找人网站 优帮云阿里云域名注册流程