最佳實踐React效能優化

2021-10-19 12:15:28 字數 2279 閱讀 3195

1:基本使用

//使用方法

import react, from 'react';

import from './utils';

const loadinghome = dynamic(() => import('./components/home'));

const loadinguser = dynamic(() => import('./components/user'));

state =

toggle = (key) => )

}render() = this.state

return (

this.toggle('showhome')}>showhome

this.toggle('showuser')}>showuser);}

}複製**

//封裝dynamic函式

import react from 'react';

const loading = () => loading

;export function dynamic(loadcomponent) >

)}複製**

2:lazy原理剖析

function lazy(load) 

componentdidmount() );

});}

render() = this.state;

return component && ;}}

}複製**

[上傳中…(image-ff4a29-1613564736594-2)]

1:purecomponent,memo基本使用

import react, from 'react';

constructor(props)

}add = (amount)=>);

}render()>+1

this.add(0)}>+0)}

}class counter extends component)}

}class classtitle extends component)}

}const functiontitle = function (props) ;}

複製**

[上傳中…(image-4f17fb-1613564736594-1)]

從上面可以看出只要父元件setstate,子元件無論class元件還是函式式元件無論props是否改變都會進行渲染, 很顯然這樣是不合理的,所以react自帶兩個東西purecomponent(類元件),memo(函式元件)具體使用如下

import react, from 'react';

constructor(props)

}add = (amount)=>);

}render()>+1

this.add(0)}>+0)}

}class counter extends purecomponent)}

}class classtitle extends purecomponent)}

}const functiontitle = memo(props=>

;});

複製**

[上傳中…(image-5d6095-1613564736594-0)]

效果顯著,這樣的話無論class元件還是函式式元件 只要props不變化,元件就不會在渲染

2:來我們一起手動實現 purecomponent,memo

import react from 'react';

export class purecomponent extends react.component

}export function memo(oldcomponent)}}

export function shallowequal(obj1,obj2)

let keys1 = object.keys(obj1);

let keys2 = object.keys(obj2);

if(keys1.length !== keys2.length)

for(let key of keys1)

}return true;

}複製**

是不是很有趣?

MySQL 的效能優化最佳實踐

資料庫操作是當今 web 應用程式中的主要瓶頸。不僅是 dba 資料庫管理員 需要為各種效能問題操心,程式設計師為做出準確的結構化表,優化查詢效能和編寫更優 也要費盡心思。在本文中,我列出了一些針對程式設計師的 mysql 優化技術。在我們開始學習之前,我補充一點 你可以在 envato marke...

JS最佳實踐 效能優化

首先,由於js是一種解釋型語言,執行速度要比編譯型語言慢得多。注 chrome是第一款內建優化引擎,將js編譯成本地 的瀏覽器,其它瀏覽器也陸續實現了js的編譯過程。但是,即使到了編譯執行js的新階段,仍然會存在低效率的 以下總結一些可以改進 的整體效能的方法。記住一點,隨著作用域中的作用域數量的增...

SSAS 最佳實踐和效能優化(1)

一般analysis services cube的效能問題可能由多方面的原因造成。源系統,cube設計,mdx查詢,網路問題等因素都可能導致效能問題的產生。在這個系列文章中,我會分享一些設計和開發cube的最佳實踐和可以用來解決現存一些效能問題的小技巧。下面的架構圖展示了經典的微軟bi應用架構,從左...