Komponentų atvaizdavimas " React" sistemoje dažnai gali sukelti nereikalingų našumo problemų, ypač tada, kai komponentai pakartotinai atnaujinami, nors jų rekvizitai nepasikeitė. Štai kaip galite optimizuoti "React" programų našumą naudodami "React" atmintinės funkciją. Naudodami memo galite užtikrinti, kad komponentai būtų iš naujo atvaizduojami tik tada, kai pasikeičia atitinkami duomenys. Tai ne tik pagreitina naudotojo sąsają, bet ir pagerina atsako į naudotojo įvestį greitį.

Pagrindinės išvados

  • Memo funkcija užkerta kelią nereikalingiems atvaizdavimo procesams.
  • Komponentai iš naujo atvaizduojami tik tada, kai pasikeičia jų rekvizitai.
  • Optimizavimas naudingas, jei komponentas turi sudėtingų skaičiavimų arba subkomponentų, kuriuos reikia atvaizduoti.

Žingsnis po žingsnio vadovas

1 žingsnis: pagrindinė sąranka

Norint pradėti optimizuoti komponentus, reikia paprasto pavyzdžio. Pirmiausia savo "React" programoje sukurkite du mygtukus. Pirmasis mygtukas perjungia "X" ir "O", o antrasis mygtukas tiesiog rodo pranešimą konsolėje.

"React" komponentų atvaizdavimo našumo optimizavimas

Pirminiame kode apibrėžkite perjungimo mygtuką su "useState", kad būtų laikoma dabartinė būsena ir ji būtų keičiama kiekvieną kartą spustelėjus.

"React" komponentų atvaizdavimo našumo optimizavimas

2 žingsnis: išanalizuokite komponento struktūrą

Jei paleisite savo programą naršyklėje ir spustelėsite perjungimo mygtuką, pastebėsite, kad antrasis mygtukas konsolėje vis tiek bus atvaizduojamas. Taip yra todėl, kad "React" kiekvieną kartą, kai keičiama būsena, iš naujo atvaizduoja visus paveiktus komponentus, net jei niekas nepasikeitė.

Nors antrasis mygtukas neturi jokių rekvizitų, jo atvaizdavimo funkcija iškviečiama, o tai yra neoptimalu. Norite, kad mygtukas būtų iš naujo atvaizduojamas tik tada, kai to tikrai reikia.

3 žingsnis: Įvadas į atmintinę

Čia į žaidimą įsijungia memo. Galite optimizuoti mygtuko komponentą importuodami memo iš "React". Tai užtikrina, kad komponento atvaizdavimo funkcija nebebus kviečiama tol, kol nepasikeis jokie rekvizitai.

4 žingsnis: memo naudojimas

Apgaubkite savo mygtuko komponentą memo, apvyniodami funkcijos iškvietimą aplink mygtuko komponentą. Dabar komponentas gali būti iš naujo atvaizduojamas tik tada, kai pasikeičia rekvizitai.

Tada patikrinkite, ar optimizavimas veikia. Perkrovus programą ir spustelėjus perjungimo mygtuką, mygtukas nebeturėtų būti iš naujo atvaizduojamas, jei rekvizitai nesikeičia. Taip pat galite nustatyti nutraukimo taškus, kad patikrintumėte, ar iškviečiama atvaizdavimo funkcija.

"React" komponentų atvaizdavimo našumo optimizavimas

5 veiksmas: optimizavimo testavimas

Norėdami išbandyti efektyvumą, galite mygtukui perduoti papildomų rekvizitų, mygtuko komponente rodydami perjungimo reikšmę. Pridėkite logiką, kuri keistų mygtuko tekstą pagal perjungimo būseną.

"React" komponentų atvaizdavimo našumo optimizavimas

Jei dabar dar kartą išbandysite programą ir perjungsite mygtukus, pamatysite, kad mygtukas atvaizduojamas tik tada, kai pasikeičia perjungimo rekvizitas. Tai parodo, kaip veikia optimizavimas.

6 veiksmas: Pakeitimų tikrinimas

Jei dabar dar kartą spustelėsite perjungimo mygtuką ir perjungimas pasikeis iš false į true, mygtuko komponentas bus iš naujo teisingai atvaizduotas, nes jo rekvizitai pasikeis dėl perjungimo reikšmės perkėlimo.

Išvada

Dabar sėkmingai įgyvendinote atmintinės funkciją ir optimizavote savo mygtuko komponentą taip, kad jis iš naujo atvaizduojamas tik tada, kai to tikrai reikia. Tai paprastas, bet veiksmingas būdas optimizuoti jūsų "React" programos našumą.

Apibendrinimas

Šiame vadove sužinojote, kaip naudoti funkciją memo, kad optimizuotumėte savo "React" komponentų atvaizdavimo našumą. Sužinojote, kada tikslinga optimizuoti komponentus ir kaip galima sumažinti dažnumą, kuriuo iškviečiama atvaizdavimo funkcija.

Dažniausiai užduodami klausimai

Kaip memo veikia "React" sistemoje?memo išsaugo komponento rezultatą ir iš naujo jį atvaizduoja tik tada, kai pasikeičia jo rekvizitai.

Kada turėčiau naudoti memo? memo naudinga komponentams, kurie atlieka daug atvaizdavimo darbų arba yra didesnėse programose, kuriose daug keičiasi būsenos.

Ar galiu naudoti memo kiekvienam komponentui? ne visada būtina. Naudokite memo tais atvejais, kai tai gerokai padidina našumą, ypač sudėtingiems komponentams.