„Mobx React“ - geriausia praktika

Šiame straipsnyje noriu parodyti jums įprastą geriausią „React“ naudojimo su mobx praktiką. Aš pateiksiu juos kaip taisykles. Taigi, kai tik kyla konkreti problema, pabandykite ją išspręsti laikydamiesi šių taisyklių.

Šis straipsnis reikalauja, kad jūs turėtumėte pagrindinį supratimą apie „Mobx“ parduotuves. Jei ne, pirmiausia perskaitykite tai.

Reikia greito starto? Sukūriau pradinį projektą, kuriame įgyvendinama rekomenduojama praktika. https://github.com/danielbischoff/react-mobx-starter

Parduotuvės atstovauja JAV valstijai

Visada atminkite, kad parduotuvės atspindi jūsų programos ui būseną. Tai reiškia, kad išsaugodami savo parduotuvių būseną faile, uždarę programą ir paleisdami ją iš naujo įkeldami būseną, turėsite tą pačią programą ir matysite tuos pačius dalykus, kokius matėte prieš uždarant programą. Parduotuvės nėra skirtos „vietinėms duomenų bazėms“. Jie taip pat saugo informaciją apie tai, koks mygtukas yra matomas, išjungtas, esamas pateikto įvesties tekstas ir kt.

Atskirkite savo poilsio skambučius iš parduotuvių

Neskambinkite savo poilsio sąsajai iš savo parduotuvių. Dėl to juos sunku išbandyti. Užuot sudėję šiuos poilsio skambučius į papildomas klases ir perduokite šiuos egzempliorius kiekvienai parduotuvei naudodami parduotuvės konstruktorių. Rašydami testą, galite lengvai suklastoti šiuos api skambučius ir perduoti savo netikrą api egzempliorių kiekvienai parduotuvei.

Laikykitės savo verslo logikos parduotuvėse

Niekada nerašykite verslo logikos į savo komponentus. Rašydami savo verslo logiką komponentais, jūs neturite galimybės to pakartotinai naudoti, verslo logika pasiskirsto po daugelį komponentų, o tai apsunkina kodo taisymą ar pakartotinį naudojimą. Parašykite verslo logiką parduotuvėse ir nurodykite šiuos metodus iš savo komponentų.

Nekurkite pasaulinių parduotuvių egzempliorių

Niekada nesukurkite pasaulinių parduotuvių pavyzdžių. Negalite parašyti pagrįstų ir patikimų savo komponentų bandymų. Vietoj to naudokite teikėją, kad suleistumėte savo parduotuves į savo komponentų rekvizitus. Tuomet savo bandymuose galite lengvai tyčiotis iš šių parduotuvių.

Tik parduotuvėje leidžiama keisti savo savybes

Niekada nekeiskite parduotuvės nuosavybės tiesiogiai komponentu. Tik parduotuvėje leidžiama keisti savo savybes. Visada paskambinkite metodui iš parduotuvės, kuris keičia parduotuvės nuosavybę. Priešingu atveju jūsų programų būsena (parduotuvės = programos būsena) atnaujinama iš visur ir jūs lėtai prarandate valdymą. Dėl to labai sunku derinti.

Visada komentuokite kiekvieną komponentą su @ stebėtoju

Kiekvieno komponento komentavimas @ stebėtoju leidžia kiekvienam komponentui atnaujinti saugyklos rekvizitų pakeitimus. Priešingu atveju pradinį komponentą, pažymėtą @ komponentu, reikia perduoti, atnaujinti antrinį komponentą. Taigi reikia atsisakyti mažiau komponentų.

Naudokite @ apskaičiuotą

Tarkime, kad norite, kad jūsų mygtukas būtų išjungtas, kai vartotojas neturi administratoriaus vaidmens, o programa nėra „administratoriaus režime“. Tam nepakanka vienos savybės, tokios kaip „isAdmin“, vienoje parduotuvėje. Jums reikės apskaičiuoto turto jūsų parduotuvėje.

Tikriausiai nereikia reaguoti į maršrutizatorių

Tikriausiai nereikia reaguoti į maršrutizatorių. Kaip jau sakiau anksčiau, norite, kad jūsų parduotuvės atspindėtų jūsų programos būseną. Kai leidžiate reaguoti maršrutizatoriui tvarkyti dalį jūsų programos būsenos, neleidžiate saugykloms nurodyti programos būsenos. Taigi išlaikykite dabartinį rodomą nuosavybės vienoje iš savo parduotuvių vaizdą. Tada jūs turite vieną komponentą, kuris tiesiog pateikia tai, ką sako nuosavybė.

Stenkitės teikti pirmenybę kontroliuojamiems komponentams, o ne nekontroliuojamiems komponentams

Visada stenkitės kurti kontroliuojamus komponentus. Tai leidžia lengvai valdyti komponentus ir bendrą jūsų komponentų sudėtingumą.

Tikiuosi, kad galėsiu padėti šiais paprastais patarimais.
Klauskite arba pateikite atsiliepimų komentaruose žemiau.