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

网站栏目的分类上海人才网招聘网最新招聘

网站栏目的分类,上海人才网招聘网最新招聘,深圳酒店网站建设,做网站能用ai好还是psreact18里面的计算属性和使用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/202105/

相关文章:

  • 网站开发软件最流行建网站哪个公司好
  • 做设备推广的网站网站优化分析
  • 企业级网站开发优化网站教程
  • 网站建设 投资合作恢复原来的网站
  • ASP net网站开发资料详情页设计与制作
  • 百度做网站效果怎么样东道 网站建设
  • 免费用手机制作网站 百度百长沙县星沙人才招聘网
  • 如何搜索网站的内容可以做动态图表的网站
  • 开源网站 做镜像 如何做商丘网络
  • 建设银行企业版网站简单的网站设计多少钱
  • 网站配置系统国内知名互联网公司
  • 网站建设金手指15网站做打火机如何
  • 企业网站建设的优势北京互联网营销
  • 石家庄商城网站制作此网站域名三天更换
  • 免费的网站如何建网站保定
  • 大航母网站建设流程新媒体营销h5制作网站
  • 南宁建站公司模板闲置物品交易网站怎么做
  • 加强心理咨询网站的建设方案沧州网站建设一网美联
  • 网站建设网页设计淘宝网站代做
  • 中国建设银行甘肃省分行网站电子商务网站开发实训报告
  • 科技公司网站制作模板页面设计模板素材
  • 网页设计免费网站推荐wap网站不流行
  • 重庆大足网站制作公司网站建设项目推进表
  • 新建的网站需要维护吗专业手机网站建设企业
  • 高县网站建设网站建设邮箱
  • 做下载网站有哪些石家庄模板建站
  • 做网站金山区绵阳网站建设报价
  • 南京博学建设集团网站湖南移动网站建设
  • 建设大型网站建设龙华做网站多少钱
  • 不属于c2c网站的是python显示wordpress