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

南孚电池网站建设浙江方远建设集团网站

南孚电池网站建设,浙江方远建设集团网站,怎么在抖音上卖东西,wordpress 文库插件目前写了不少React的项目,发现React有些特点更灵活和注重细节,很多东西需要有一定的内功才能掌握好;比如在项目中常常遇到的组件重复渲染,有时候组件重复渲染如果内容是纯文本,不打印日志就不容易发现重复渲染了&#…

目前写了不少React的项目,发现React有些特点更灵活和注重细节,很多东西需要有一定的内功才能掌握好;比如在项目中常常遇到的组件重复渲染,有时候组件重复渲染如果内容是纯文本,不打印日志就不容易发现重复渲染了;但是组件内有图片或者视频就很容易发现组件重复渲染了;要如何避免组件重复渲染呢?

下面我们看下代码代码,组件命名比较随意哈:

// App.js
import { useState } from 'react';
import Hello from './components/Hello';function App() {const [count, setCount] = useState(0)const handleCount = () => {setCount((count) => ++count )}return (<div className="App"><header className="App-header"><main><button onClick={handleCount}>Click me</button>父组件内容 {count}<Hello /><Hello1 /></main></header></div>);
}export default App;
// hello.js
import { memo } from "react"
const Hello = () => {console.log('reload1')return (<div>子组件1是否打印更新</div>)
}export default memo(Hello);
// hello1.js
import { memo,useEffect, useState } from "react"const Hello = () => {const [count, setCount] = useState(0)const handleCount1 = () => {setCount((count) => ++count )}console.log('reload2')return (<div>子组件2是否打印更新<br /><button onClick={handleCount1}>子组件2++</button><br />子组件2的内容 {count}<br /></div>)
}export default memo(Hello);

可以看到点击父组件的Click me按钮,会发现控制台会打印两个组件的日志,说明子组件1和2都被更新了,这也是React组件的更新机制之一,父组件更新,子组件全部会重新渲染;如果子组件中有大量的图片和视频等资源那么会造成页面运行非常缓慢;那就需要合理进行组件的拆分和逻辑梳理了;
在这里插入图片描述

上面这个操作,在父组件中点击增加按钮,需要使用useState去设置父组件渲染的数据,父组件视图更新会导致父组件中所有的子组件更新;我们可以把父组件需要这个点击更新数字的逻辑单独抽离成一个子组件放在父组件中显示,比如子组件2;看看子组件2中的点击增加按钮并不会造成子子组件1的更新,控制台打印显示只更新了组件2,避免了组件1的重复渲染;
在这里插入图片描述
最后总结:React中需要准确的拆分子组件,组件内的数据组件内部单独控制,可以减少很多不必要的干扰造成的渲染,组件拆分的颗粒度要非常细,在最小的组件内更新视图,不会影响其他的组件;

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

相关文章:

  • 交互网站建设网站首页网址
  • 那个视频网站最好最全网址公司平台网站建设
  • 如何做好网站首页企业建设营销型网站步骤
  • 网站cms是什么北流网站
  • 做网站需要什么按钮软件网站怎么做的
  • 商城类型的网站怎么做python为什么叫爬虫
  • 做高仿包的能做网站吗济南集团网站建设
  • 湖南人工智能建站系统软件洛阳网百姓呼声
  • 宁波网络营销网站建设易语言登录WordPress账号
  • 站长素材音效广州华茂建设工程有限公司 网站
  • 延安做网站的公司电话网站建设功能怎么写
  • 网站导航菜单代码和两个黑人同时做网站
  • 广州网站设计公司兴田德润活动做网站价格 网络推广托管服务
  • 淘宝客 备案 网站名称wordpress加入链接
  • 在线教育网站开发时长网页设计图片边框代码
  • 建设企业网站登录901重庆网站优化排名
  • 梧州网站建设费用怎么建自己的平台
  • 淮安汽车集团网站建设北京建设网官网证书
  • 大连网络宣传网站如何免费建立自己的网站
  • 网站建设课程ppt模板网站建设与运营预算
  • 山东建设厅网站专职安全员网页设计好看的网站
  • 杭州杭州网站建设做招牌的广告公司
  • 网站的友情链接怎么做快速搭建网站 开源
  • 政务公开与网站建设工作总结存在问题和困难济南百度推广电话
  • 北京网站制作公司兴田德润实惠前端开发主要工作内容
  • 做网站主机几个配件wordpress主题百度
  • 深圳网站制作台网站建设模板软件
  • 商城网站开发背景一件代发货源网1688
  • 网站机房建设有助于电子商务网站建设简答题
  • 金融类网站设计用dw做音乐网站模板