React tagab oleku järjepidevuse, kui konksu kasutatakse tingimuslikult, järgides järgmisi reegleid:
1. Ainult tipptasemel kõnekonksud:
- Konksud tuleks kutsuda funktsiooni React ülatasemel, enne varajast tagastamist. See tagab, et konksud kutsutakse iga kord, kui komponent renderdab, samas järjekorras, mis võimaldab Reactil õigesti säilitada konksude olekut mitme „useState” ja „useEffect” kõne vahel[4].
2. Ainult reageerimisfunktsioonide kõnekonksud:
- Konksud tuleks kutsuda funktsiooni React komponentidest või kohandatud konksudest. See tagab, et kogu olekupõhine loogika komponendis on selle lähtekoodist selgelt nähtav[4].
3. Kasutage konkse targalt:
- Kasutage Hooksi targalt, vältides tarbetuid olekuvärskendusi ja kõrvalmõjusid. Seda saab saavutada, kasutades funktsioonide meeldejätmiseks ja tarbetute arvutuste vältimiseks nuppe "useMemo" ja "useCallback"[1].
4. Kasutage konteksti API-t:
- Kasutage komponentide vahel oleku jagamiseks konteksti API-t. See võimaldab teil hallata olekut tsentraliseeritud asukohas ja pääseda sellele juurde mis tahes komponendist, mis seda vajab[1].
5. Kasutage viiteid:
- Kasutage viiteid, et pääseda juurde DOM-i sõlmedele või muudele väärtustele, millele tuleb otse juurde pääseda. See võimaldab teil hallata olekut ja kõrvalmõjusid kontrollitumalt[1].
6. Kasutage jõudluskonkse:
- Kasutage renderdusjõudluse optimeerimiseks toimivuskonkse, nagu "useMemo" ja "useCallback". See võimaldab teil mittevajaliku töö vahele jätta ja renderdamist optimeerida[1].
7. Kasutage ressursikonkse:
- Kasutage ressursikonkse, nagu "useResource", et pääseda juurde ressurssidele ilma nende olekusse kuulumata. See võimaldab teil hallata olekut ja kõrvalmõjusid kontrollitumalt[1].
8. Kasutage kohandatud konkse:
- Kasutage keeruka loogika kapseldamiseks ja koodi loetavamaks muutmiseks kohandatud konkse. See võimaldab erinevate komponentide vahel uuesti kasutada olekupõhist loogikat[1].
Järgides neid reegleid ja parimaid tavasid, saate tagada, et teie rakendus React säilitab oleku järjepidevuse isegi siis, kui konkse kasutatakse tingimuslikult.
Tsitaadid:[1] https://www.geeksforgeeks.org/reactjs-hooks/
[2] https://legacy.reactjs.org/docs/hooks-intro.html
[3] https://www.smashingmagazine.com/2020/04/react-hooks-best-practices/
[4] https://legacy.reactjs.org/docs/hooks-rules.html
[5] https://react.dev/reference/react/hooks