Nauja „React 19“ funkcija, leidžianti perduoti REFS kaip rekvizitus, o ne naudoti „Fordoref“, gali pagerinti vystymosi efektyvumą keliais pagrindiniais būdais:
Paprastesnė ir intuityvesnė API
REFS kaip įprastos rekvizitai yra natūralesnė ir intuityvesnė API, palyginti su „FordoRef“ naudojimu. Jis geriau suderinamas su pagrindinio reagavimo principu, kai duomenys perduoda komponento medį per rekvizitus. Tai palengvina kodą ir yra pagrįstas, ypač pradedantiesiems.
Sumažinta katilinė
Naudojant „puolėją“, reikia įvynioti vaiko komponentą į „Fordoref“ skambutį ir perduoti „ref“ kaip antrąjį argumentą funkcijos komponentui. Tai prideda tam tikrą katilinės kodą. Refono perdavimas tiesiogiai kaip atrama pašalina šį papildomą kodą.
geresnis kapsulė
Naudodamas „Fordoref“, vaiko komponentas turi žinoti, kad jis gauna nuorodą ir turi jį pritvirtinti prie tinkamo DOM elemento. Refono perdavimas kaip atrama leidžia vaiko komponentui likti nežinantis apie REF, gerinant kapsulę.
Lengvesnis refaktoravimas
Jei jums reikia atnaujinti komponento medį ir pakeisti REF priedo tašką, paprasčiau atnaujinti reklamos pavadinimą, o ne atnaujinti „Fordoref“ skambutį keliose vietose. Tai daro kodų bazę palankesnę.
atitinka klasės komponentus
Klasės komponentams REF yra pritvirtinami naudojant „ref“ atramą, o ne per specialų „puolėjo“ mechanizmą. Leidžiant LENGS kaip funkcijų komponentų rekvizitus, suteikia nuoseklesnę API tarp klasės ir funkcijų komponentų.
lengvesnis tipo tikrinimas
Naudojant „TypeScript“, paprasčiau įvesti patikrinkite, ar REF, perduotą kaip atrama, palyginti su „puolėjo“ ir „refattributes“ tipų naudojimu. Propo tipas gali būti padarytas tiesiogiai iš objekto „Ref“.
Apibendrinant galima pasakyti, kad naujos REFS kaip rekvizitų funkcija daro „React API“ intuityvesnę, sumažina katilinę, pagerina kapsulę ir daro kodų bazę palankesnę - visa tai pagerina kūrėjų efektyvumą dirbant su refs 19 -oje ir vėliau [1] [3] [4].
Citatos:[1] https://www.copycat.dev/blog/react-forwardref/
[2] https://stackoverflow.com/questions/58578570/value-of-using-reAct-forwardref-vs-custom-ref-prop
[3] https://legacy.reactjs.org/docs/forwarding-refs.html
[4] https://www.reddit.com/r/reActjs/comments/1asgpy9/ref_as_a_prop_advance_beginner_question/
[5] https://blog.logrocket.com/why-you-houlde-use-refs-spparally-in-production/
[6] https://react.dev/blog/2024/04/25/react-19-upggrade-guide
[7] https://dev.to/dalcio/reAct-performance-usestate-reducer-ref-theoring-summary-1bok
[8] https://www.freecodecamp.org/news/new-reeact-19-features/