React 基础知识~渲染性能/备忘录

这些是子组件将被渲染的模式。

当父组件重新渲染时,例如更新自身状态等时。

当子组件的 props 重新渲染时。

但实际上,只有渲染 props 时才需要重新渲染子组件。其他一切都是不必要的。

・src/example.js

mport react, { usestate } from "react";import child from "./child";import "./example.css";const example = () => {  console.log("parent render");  const [counta, setcounta] = usestate(0);  const [countb, setcountb] = usestate(0);  return (    

parent component

update the state of parent component
update the state of child component

the count of clicked:{counta}

);};export default example;

・src/child .js

const child = ({ countb }) => {  console.log("%cchild render", "color: red;");  return (    

child component

the count of b button cliked:{countb}
);};export default child;

在这种情况下,当我们按下 a(父组件)按钮时,子组件就会被渲染。虽然没有必要。

・像这样。
React 基础知识~渲染性能/备忘录

・src/child .js​(使用备忘录钩子)

import { memo } from "react";function areEqual(prevProps, nextProps) {  if (prevProps.countB !== nextProps.countB) {    return false; // re-rendered  } else {    return true; // not-re-rendred  }}const ChildMemo = memo(({ countB }) => {  console.log("%cChild render", "color: red;");  return (    

Child component

The count of B button cliked:{countB}
);}, areEqual);export default ChildMemo;

如果我们使用memo,我们可以避免不必要的重新渲染。

・像这样。
React 基础知识~渲染性能/备忘录

以上就是React 基础知识~渲染性能/备忘录的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1493250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 15:31:55
下一篇 2025年12月19日 15:32:05

相关推荐

  • 使用html css和js的动画进行冒泡排序

    代码 : Bubble Sort Animation body { display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #1c1c1c; colo…

    2025年12月19日
    000
  • 使用 html css js 的线圈错觉

    代码 Concentric Circle Coil Animation body { margin: 0; height: 100vh; display: flex; justify-content: center; align-items: center; background-color: #0…

    2025年12月19日
    000
  • React-Joyride

    简介开发 web 应用程序时,提供流畅直观的用户体验至关重要。无论是引导新用户还是通过功能更新指导现有用户,产品导览或演练都是增强可用性的流行解决方案。对于 react 开发人员来说,react joyride 是一个强大的工具,可以轻松灵活地添加这些交互式游览。 在本文中,我们将探讨 react …

    2025年12月19日
    000
  • 为前端库设计开发人员工具链

    在当今的 web 开发世界中,创建应用程序比以往更加复杂。为了帮助开发人员高效地构建用户友好的应用程序,我们可以创建开发人员工具链。工具链是一组帮助开发人员编写、测试和构建应用程序的工具和流程。在本文中,我们将探讨如何为前端库设置开发人员工具链,重点关注捆绑、转译和热重加载等关键流程。我们将以易于理…

    2025年12月19日
    000
  • 网页设计中的过度架构

    我最近在 X 上读到了 @justinfagnani 的一篇文章,内容是: “Lit 不是框架。浏览器才是框架。” 这让我思考了近年来我们如何构建网络。 在相当长的一段时间里,如果您了解 HTML、CSS 和 JavaScript,那么您确实不需要框架来构建 Web 应用程序。最多,您可能会使用一些…

    2025年12月19日
    000
  • 如何在Bootstrap中进行用户列表UI设计?

    用户列表是一种常见的界面元素,用于显示系统中的用户列表。在 bootstrap 中,您可以使用各种布局和样式选项来设计用户列表的外观。 如何使用 html 和 css 制作用户列表 在 bootstrap 中创建用户列表的一种方法是使用 和 元素来创建已使用项目的无序列表。然后,您可以使用 boot…

    2025年12月19日
    000
  • 如何使用 Tailwind CSS 和 JavaScript 创建圆形菜单

    大家好,今天我们将使用 Tailwind CSS 和 JavaScript 创建一个圆形菜单。 什么是圆形菜单?圆形菜单是一种 UI 组件,其中菜单项围绕中心按钮或点以圆形或放射状图案排列。这种类型的菜单通常用于节省空间,同时提供视觉上引人入胜的交互式导航体验。激活后,菜单项会围绕中心按钮展开为圆形…

    2025年12月19日
    000
  • 使用 JavaScript 构建“谁想成为百万富翁”

    根据热门问答节目“谁想成为百万富翁”创建游戏是练习 javascript 技能同时构建有趣且互动的游戏的绝佳方法。这篇博文将引导您了解如何构建这款游戏,包括计时器、生命线和评分系统。 游戏的主要特点多项选择题:玩家可以从四个选项中选择答案。计时器:玩家有 30 秒的时间回答每个问题。生命线:玩家可以…

    2025年12月19日
    000
  • 如何开始 Web 开发

    介绍 Web 开发是当今最受欢迎的职业之一,对于那些对 前端(用户所看到的内容)和 后端(服务器逻辑)感兴趣的人来说)。如果您刚刚起步,想知道从哪里开始或者作为开发者可以赚多少钱,本指南将为您提供清晰的路径和入门资源。 什么是网页开发? 网络开发分为两大区域: 前端:网站的视觉和交互部分。包括: H…

    2025年12月19日
    000
  • 了解如何建立实时聊天

    在本教程中,我们将指导您使用 superviz 构建实时聊天应用程序。实时聊天是现代 web 应用程序的一项重要功能,它使用户能够即时相互通信。无论您是在构建协作平台、客户支持工具还是社交网站,添加实时聊天都可以增强用户交互和参与度。 我们将演示如何设置一个简单的聊天界面,参与者可以在其中实时发送和…

    2025年12月19日
    000
  • React Native 入门 (EXPO):初学者指南

    react native 已成为构建移动应用程序最流行的框架之一,使开发人员能够使用 javascript 和 react 为 ios 和 android 创建跨平台应用程序。 expo 通过提供一组工具和服务来简化 react native 开发,帮助您快速构建原型、构建和部署 react nat…

    2025年12月19日
    000
  • React 基础知识~样式组件/ inline_style

    内联样式必须用javascript编写。 ・属性名称必须是“style” ・无论是通过除以值来设置样式还是直接设置样式都没有区别。 ・属性必须以驼峰大小写书写,像这样的 fontweight: “bold”,. ・如果我们想用 css 样式(kebabcase)编写属性,我们…

    2025年12月19日
    000
  • Things I Wish I Knew When I Started with React

    3 年 react 开发的经验教训 当我第一次投入 react 时,感觉就像打开了潘多拉魔盒。有很多东西要学,一路上,我遇到了很多“啊哈!”的情况。时刻。以下是我希望在开始时就知道的 10 件事,以帮助您在 react 之旅中跳过一些减速带。 1. 组件只是函数 最重要的认识是什么? react 组…

    2025年12月19日
    000
  • 构建无障碍网站:最佳实践

    建立一个无障碍网站可确保您的内容可供所有人(包括残疾人)使用。可访问性不仅有助于使您的网站具有包容性,而且也是改善用户体验和遵守网络标准的关键因素。在本博客中,我们将探讨构建无障碍网站的最佳实践以及如何实施它们。 为什么可访问性很重要 包容性:全球有超过 10 亿人患有某种形式的残疾。无障碍网站可确…

    2025年12月19日
    000
  • js 如何设置高度

    在 JavaScript 中设置高度有以下几种方法:直接设置元素的 height 属性。使用 CSSOM 界面中的 offsetHeight 或 clientHeight 属性。使用 jQuery 中的 height() 方法。 如何在 JavaScript 中设置高度 直接设置元素的 height…

    2025年12月19日
    000
  • js中如何渲染

    在 JavaScript 中,渲染将数据转换为可视输出,通过 DOM 操作,包括数据获取、转换、DOM 操作、样式应用和事件处理。为了优化性能,可以使用虚拟 DOM、避免过度渲染、优化 DOM 结构和异步渲染等措施。 JavaScript 中的渲染 如何渲染? 在 JavaScript 中,渲染是指…

    2025年12月19日
    000
  • js如何如何获取li

    获取 li 元素有以下方法:使用 getElementById 获取具有唯一 id 的 li 元素。使用 getElementsByClassName 获取具有指定类名的 li 元素。使用 querySelector 根据 CSS 选择器获取 li 元素。使用 querySelectorAll 获取…

    2025年12月19日
    000
  • js如何发表情

    在 JavaScript 中发表情的方法有多种:使用内置的 emoji 包;使用第三方库(如 emojis-list);使用 HTML 实体;使用 CSS 图像属性。 如何在 JavaScript 中发表情 发表情是通过图像或符号来表达情绪的方式,广泛应用于网络聊天和社交媒体。JavaScript …

    2025年12月19日
    000
  • js中如何showhide

    在 JavaScript 中,可以通过控制 CSS 属性来显示或隐藏元素:显示元素:使用 document.getElementById(“elementId”).style.display = “block”;隐藏元素:使用 document.get…

    2025年12月19日
    000
  • 流场屏幕

    使用 vanilla js 和 html canvas 的动态流场 您是否曾被抽象粒子动画迷住过?这些流动、动态的视觉效果可以通过使用纯 javascript 和 html canvas 元素的极其简单的技术来实现。在本文中,我们将分解创建一个流场的过程,该流场为数千个粒子提供动画,让它们自然运动。…

    好文分享 2025年12月19日
    000

发表回复

登录后才能评论
关注微信