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

做网站维护亳州建设网站

做网站维护,亳州建设网站,网站开发课表查询,wordpress数据库出错react18里面的计算属性和使用useMemo来提升组件性能的方法 计算属性 实现效果 代码实现 函数式组件极简洁的实现,就这样 import { useState } from "react"; function FullName() {const [firstName, setFirstName] useState("");const [la…

react18里面的计算属性和使用useMemo来提升组件性能的方法

计算属性

  • 实现效果
    请添加图片描述
  • 代码实现
    函数式组件极简洁的实现,就这样
import { useState } from "react";
function FullName() {const [firstName, setFirstName] = useState("");const [lastName, setLastName] = useState("");const fullName = firstName + " " + lastName;return (<><h1>fullname:{fullName}</h1><label>First Name :<inputtype="text"value={firstName}onChange={(e) => setFirstName(e.target.value)}/></label><br /><label>Last Name :<inputtype="text"value={lastName}onChange={(e) => setLastName(e.target.value)}/></label></>);
}export default FullName;

计算大的方法缓存

子组件会因为propsstate的变化而重新渲染,这其中如果有很大计算量的方法的话,就会严重拖慢页面加载速度。像下面这种就是因为一个无关的更新,导致计算一会在执行,计算量大的话性能损耗很大
请添加图片描述

import { useState, useMemo } from "react";
function TodoList({ todos, filter }) {const [newTodo, setNewTodo] = useState("");const visibleTodos = getFilteredTodos(todos, filter);return (<><ul>{visibleTodos.map((todo) => {return <li>{todo.name}</li>;})}</ul>{newTodo}<br /><input value={newTodo} onChange={(e) => setNewTodo(e.target.value)} /></>);
}function getFilteredTodos(todos, filter) {console.log("🚀 ~ getFilteredTodos ~ todos:", todos);return todos.filter((todo) => {return filter.call(null, todo);});
}
export default TodoList;

优化代码

import { useState, useMemo } from "react";
function TodoList({ todos, filter }) {const [newTodo, setNewTodo] = useState("");const visibleTodos = useMemo(() => getFilteredTodos(todos, filter),[todos, filter]);return (<><ul>{visibleTodos.map((todo) => {return <li>{todo.name}</li>;})}</ul>{newTodo}<br /><input value={newTodo} onChange={(e) => setNewTodo(e.target.value)} /></>);
}function getFilteredTodos(todos, filter) {console.log("🚀 ~ getFilteredTodos ~ todos:", todos);return todos.filter((todo) => {return filter.call(null, todo);});
}
export default TodoList;

请添加图片描述
这会告诉 React,除非 todos 或 filter 发生变化,否则不要重新执行传入的函数,这样我们我们的计算就不会在无关的状态变化时执行了,极大的提升了性能。

http://www.yayakq.cn/news/602318/

相关文章:

  • 他们怎么做的刷赞网站2022华为云营销季
  • 网站最新发布址wordpress 同学
  • python网站开发教程公司购买网站怎么做分录
  • 如何设置网站关键字网站建设网上消费算在年费
  • 中国建设银行网站北京网点门户网站用什么程序做
  • 电子商务网站建设用什么语言黄埔做网站的公司
  • 老男孩linux网站移动互联网应用软件开发
  • 网站优化服务合同wordpress单页链接设置
  • 现在还有用dw做网站货运app开发公司
  • 松江建设网站如何查询公司名称能不能注册
  • 网站做电商资质wordpress中文优化版
  • 南昌专业做网站蒲公英网站建设
  • 临沂建设企业网站易企建站
  • 国内好的网站设计百度搜索网站打开错误
  • 株洲做网站需要多少钱网页特效管理系统
  • 旅游电子商务 网站建设seo 网站地图优化
  • 云服务器小网站制作东莞seo建站视频
  • 企业网站建设需要多少钱wordpress 12张表
  • 行业论坛网站官网网站搭建需要多少钱
  • 网站设计怎么用黑色做餐饮企业网站的费用
  • 找做网站的客户公共交易中心资源网
  • 天津网站的优化公司建立网站
  • 贴吧做网站wordpress首行缩进
  • 广东涂料网站建设在线设计平台行业
  • 如何在asp网站南宁手机平台网网站建设
  • 静态网站源码浙江网站设计公司电话
  • 如何申请网站空间和域名口碑营销的作用
  • 汕头网站制作公司价格wordpress和iss
  • 网站建设招标书本地生活网
  • 安卓开发和网站开发北京注册公司流程