🔥 React Hook: useRef 🔥
Если ты работаешь с React, то наверняка сталкивался с задачами, когда нужно получить доступ к DOM-элементу или сохранить какое-то значение между рендерами, не вызывая повторную перерисовку. В таких случаях на помощь приходит useRef!
Что такое useRef?
useRef – это один из хуков React, который возвращает изменяемый объект, хранящий свойство .current. Этот объект сохраняется на протяжении всего жизненного цикла компонента.
Когда использовать?
1. Доступ к DOM-элементам:
Иногда нужно напрямую управлять элементами DOM. Например, для фокуса на input:
2. Сохранение значений между рендерами:
Например, если нужно хранить предыдущее значение состояния или какое-то другое изменяющееся значение, но не хочется триггерить ререндер:
В чем отличие от useState?
useRef не вызывает повторный рендер при изменении своего значения, а useState – вызывает. Это значит, что если тебе нужно что-то сохранить без перерисовки компонента, используй useRef.
Когда не стоит использовать?
Не стоит использовать useRef для управления состоянием, если тебе нужно реагировать на изменения значения – для этого есть useState. useRef полезен только для случаев, когда данные нужно просто "запомнить" между рендерами или для взаимодействия с DOM.
Заключение
useRef – это мощный инструмент, когда дело касается прямого взаимодействия с DOM или сохранения значений без лишних рендеров. Запоминай и используй с умом! 😉
#React #useRef #JavaScript #Frontend #Hooks #WebDevelopment
Если ты работаешь с React, то наверняка сталкивался с задачами, когда нужно получить доступ к DOM-элементу или сохранить какое-то значение между рендерами, не вызывая повторную перерисовку. В таких случаях на помощь приходит useRef!
Что такое useRef?
useRef – это один из хуков React, который возвращает изменяемый объект, хранящий свойство .current. Этот объект сохраняется на протяжении всего жизненного цикла компонента.
Когда использовать?
1. Доступ к DOM-элементам:
Иногда нужно напрямую управлять элементами DOM. Например, для фокуса на input:
const inputRef = useRef(null);
useEffect(() => {
inputRef.current.focus();
}, []);
return <input ref={inputRef} />;
2. Сохранение значений между рендерами:
Например, если нужно хранить предыдущее значение состояния или какое-то другое изменяющееся значение, но не хочется триггерить ререндер:
const prevValue = useRef(value);
useEffect(() => {
prevValue.current = value;
});
В чем отличие от useState?
useRef не вызывает повторный рендер при изменении своего значения, а useState – вызывает. Это значит, что если тебе нужно что-то сохранить без перерисовки компонента, используй useRef.
Когда не стоит использовать?
Не стоит использовать useRef для управления состоянием, если тебе нужно реагировать на изменения значения – для этого есть useState. useRef полезен только для случаев, когда данные нужно просто "запомнить" между рендерами или для взаимодействия с DOM.
Заключение
useRef – это мощный инструмент, когда дело касается прямого взаимодействия с DOM или сохранения значений без лишних рендеров. Запоминай и используй с умом! 😉
#React #useRef #JavaScript #Frontend #Hooks #WebDevelopment