Refs в React
Ако искаме да запомним някаква информация,
но не искаме промяната й да причинява
рендериране на компонента, тогава ще ни бъдат полезни
рефовете и съответно
хукът useRef, който работи с тях.
Реф (или референция) е обикновен JavaScript
обект с едно единствено свойство current,
което можете да четете или променяте.
Както и стейтовете, рефовете могат да съхраняват всякакъв тип данни - това могат да са числа, низове, обекти и дори функции.
Ако вашите данни се използват за рендериране, тогава ги съхранявайте в стейт, а ако не ви трябва рендериране, в такъв случай използването на рефове може да се окаже по-ефективно. Освен това, за разлика от стейта, стойността на рефа се променя незабавно.
Като цяло рефовете се прилагат там, където трябва да
се отстъпи от React и да се взаимодейства с
външни API - най-често браузърни, които
не влияят на изобразяването на компонента. Това
може да бъде например съхраняване на id на таймер
или съхраняване на обект, за който не е нужно
да се изчислява JSX, но най-често това е взаимодействие
с DOM елементи. Те могат да се използват за
управление на фокуса, селекция на текст
или възпроизвеждане на мултимедия.
В следващия урок ще разгледаме работата с
рефовете и хука useRef на практика.