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

想自己做微信网站的工作discuz和wordpress并发

想自己做微信网站的工作,discuz和wordpress并发,网站开发的重要性,php做自己的网站React 组件性能优化的核心是减少渲染真实 DOM 节点的频率#xff0c;减少 Virtual DOM 比对的频率。 1. 组件卸载前进行清理操作 window 注册的全局事件, 以及定时器 useEffect((){return (){// do somethingclearTimeout(tiemr)window.removeEventListener(xxx, c…React 组件性能优化的核心是减少渲染真实 DOM 节点的频率减少 Virtual DOM 比对的频率。 1. 组件卸载前进行清理操作 window 注册的全局事件, 以及定时器 useEffect((){return (){// do somethingclearTimeout(tiemr)window.removeEventListener(xxx, calback)} },[])2. PureComponent 什么是纯组件 纯组件会对组件输入数据进行浅层比较如果当前输入数据和上次输入数据相同组件不会重新渲染。什么是浅层比较 比较引用数据类型在内存中的引用地址是否相同比较基本数据类型的值是否相同。如何实现纯组件 类组件继承 PureComponent 类函数组件使用 memo 方法为什么不直接进行 diff 操作, 而是要先进行浅层比较浅层比较难道没有性能消耗吗? 和进行 diff 比较操作相比浅层比较将消耗更少的性能。diff 操作会重新遍历整颗 virtualDOM 树, 而浅层比较只操作当前组件的 state 和 props。 3. shouldComponentUpdate 纯组件只能进行浅层比较要进行深层比较使用 shouldComponentUpdate它用于编写自定义比较逻辑。 返回 true 重新渲染组件返回 false 阻止重新渲染。 函数的第一个参数为 nextProps, 第二个参数为 nextState. shouldComponentUpdate(nextProps, nextState) {if (this.state.name ! nextState.name || this.state.age ! nextState.age) {return true}return false}4. React.memo 为 memo 传递比较逻辑 使用 memo方法自定义比较逻辑用于执行深层比较。 比较函数的第一个参数为上一次的 props, 比较函数的第二个参数为下一次的 props, 比较函数返回 true, 不进行渲染, 比较函数返回 false, 组件重新渲染. const ShowPersonMemo memo(ShowPerson, comparePerson)function comparePerson(prevProps, nextProps) {if (prevProps.person.name ! nextProps.person.name ||prevProps.person.age ! nextProps.person.age) {return false}return true}5. 使用组件懒加载 使用组件懒加载可以减少 bundle 文件大小, 加快组件呈递速度. 路由组件懒加载 import React, { lazy, Suspense } from reactimport { BrowserRouter, Link, Route, Switch } from react-router-dom// 打包时生成对应名字的chunkconst Home lazy(() import(/* webpackChunkName: Home */ ./Home))const List lazy(() import(/* webpackChunkName: List */ ./List))function App() {return (BrowserRouterLink to/Home/LinkLink to/listList/LinkSwitch// 组件未加载完成展示loadingSuspense fallback{divLoading/div}Route path/ component{Home} exact /Route path/list component{List} //Suspense/Switch/BrowserRouter)}export default App根据条件进行组件懒加载 适用于组件不会随条件频繁切换 import React, { lazy, Suspense } from reactfunction App() {let LazyComponent nullif (true) {LazyComponent lazy(() import(/* webpackChunkName: Home */ ./Home))} else {LazyComponent lazy(() import(/* webpackChunkName: List */ ./List))}return (Suspense fallback{divLoading/div}LazyComponent //Suspense) }export default App6. 使用 Fragment 避免额外标记 7. 不要使用内联函数定义 8. 在构造函数中进行函数this绑定 9. 类组件中的箭头函数 10. 避免使用内联样式属性 11. 优化条件渲染 12. 为组件创建错误边界 错误边界涉及到两个生命周期函数, 分别为 getDerivedStateFromError 和 componentDidCatch. – getDerivedStateFromError 为静态方法, 方法中需要返回一个对象, 该对象会和state对象进行合并, 用于更改应用程序状态. – componentDidCatch 方法用于记录应用程序错误信息. 该方法的参数就是错误对象. ErrorBoundaries.js import React from react import App from ./App export default class ErrorBoundaries extends React.Component {constructor() {super()this.state {hasError: false}}componentDidCatch(error) {console.log(componentDidCatch)}static getDerivedStateFromError() {console.log(getDerivedStateFromError)return {hasError: true}}render() {if (this.state.hasError) {return div发生了错误/div}return App /} }App.js import React from react export default class App extends React.Component {render() {// throw new Error(lalala)return divApp works/div} }index.js import React from react import ReactDOM from react-dom import ErrorBoundaries from ./ErrorBoundaries ReactDOM.render(ErrorBoundaries /, document.getElementById(root))注意: 错误边界不能捕获异步错误, 比如点击按钮时发生的错误. 13. 避免数据结构突变 14. 依赖优化 主要是对包进行优化 参考重构之路webpack打包体积优化超详细
http://www.hkea.cn/news/14566591/

相关文章:

  • 苏州网站怎么做网站建设与管理自考本
  • 做网站负责人有法律风险吗出口贸易网站
  • 山西建设网站官方网页qq登陆
  • 网站系统名称免费自助建站模板
  • 卓业网站建设大庆小程序开发
  • 百度网站权重wordpress 英文采集
  • 前端电商网站登录界面怎么做企业宣传片拍摄制作
  • 网站与域名的关系网站搭建好了怎么上到服务器
  • 红灰搭配网站模板如何在国内做网站
  • 响应式网站开发框架开发公司绩效考核评分细则
  • 广州地产网站设计整站seo定制
  • 武安 制作网站利用云服务器做网站
  • 网站的三种基本类型做电商网站就业岗位晋升
  • 免费手机网站源码下载顺德官网建设
  • 建网站好还是开天猫好263企业邮箱报价
  • 推动防控措施持续优化宁波seo服务推广
  • 网站建设的功能需求分析策划书下载微信安装微信
  • 网站建设及维护费什么类型的网站容易做
  • 灯饰如何做网站推广建设银行个人网站打不开
  • 寿光做网站郴州市人力资源网官网
  • 网站后台发了文章看不到如何制作代码
  • 重庆公司免费网站建设小米发布会直播入口
  • WordPress搭建手机网站济南seo网站排名关键词优化
  • 在哪个网站做视频可以赚钱做网站的时候旋转图片
  • 运动服饰网站建设目的wordpress 教程 百度网盘
  • 一个网站怎么做软件wordpress用什么图床好
  • 公司网站制作需要找广告公司么网页开发制作
  • 2017做哪些网站致富物流网站前端模板下载
  • 招聘网站做沙龙揭阳网站建设策划方案
  • 怎么做二手网站代理wordpress管理主体