react的useRef用什么作用

简介: react的useRef用什么作用

useRef 是 React 提供的一个钩子,用于在函数组件中创建和管理对 DOM 元素或组件实例的引用。它返回一个包含 current 属性的对象,可以用来存储对某个值的引用,而这个引用在组件的整个生命周期内保持不变。

useRef 的主要用途
1.访问 DOM 元素:

通过 useRef 创建的引用可以用来访问和操作 DOM 元素。这在处理需要直接操作 DOM 的情况时很有用,比如设置焦点、获取元素的尺寸等。

import React, { useRef, useEffect } from 'react';

function MyComponent() {
const inputRef = useRef(null);

useEffect(() => {
inputRef.current.focus(); // 组件挂载后设置输入框焦点
}, []);

return ;
}

1
2
3
4
5
6
7
8
9
10
11
12
2.保存可变数据:

useRef 也可以用来保存不引起重新渲染的可变数据。即使 useRef 的值改变,组件也不会重新渲染。

import React, { useRef } from 'react';

function Counter() {
const count = useRef(0);

const increment = () => {
count.current += 1;
console.log(count.current);
};

return ;
}
1
2
3
4
5
6
7
8
9
10
11
12
3.存储上一个渲染的值:
useRef 可以用来存储组件上一个渲染周期中的某些值。

import React, { useRef, useEffect, useState } from 'react';

function Example() {
const [count, setCount] = useState(0);
const prevCountRef = useRef();

useEffect(() => {
prevCountRef.current = count;
}, [count]);

const prevCount = prevCountRef.current;

return (


Now: {count}


Before: {prevCount}




);
}
相关文章
|
2月前
|
前端开发 JavaScript
React中函数式Hooks之useRef的使用
React中函数式Hooks的useRef用于获取DOM元素的引用,示例代码演示了其基本用法。
33 3
|
3月前
|
前端开发
React使用useRef ts 报错
【8月更文挑战第17天】
62 4
|
11天前
|
存储 缓存 JavaScript
深入理解 React-Hooks 之 useRef
【10月更文挑战第20天】总之,`useRef` 是 React-Hooks 中一个非常实用的工具,它为我们提供了一种灵活而强大的方式来处理组件中的各种数据和操作。通过深入理解和掌握 `useRef` 的原理和用法,我们能够更好地构建高效、稳定的 React 应用。
23 6
|
19天前
|
存储 前端开发 JavaScript
React useState 和 useRef 的区别
本文介绍了 React 中 `useState` 和 `useRef` 这两个重要 Hook 的区别和使用场景。`useState` 用于管理状态并在状态变化时重新渲染组件,适用于表单输入、显示/隐藏组件、动态样式等场景。`useRef` 则用于在渲染之间保持可变值而不触发重新渲染,适用于访问 DOM 元素、存储定时器 ID 等场景。文章还提供了具体的代码示例,帮助读者更好地理解和应用这两个 Hook。
28 0
|
4月前
|
前端开发 JavaScript 数据格式
react18【系列实用教程】Hooks (useState,useReducer,useRef,useEffect,useContext,useMemo,useCallback,自定义 Hook )
react18【系列实用教程】Hooks (useState,useReducer,useRef,useEffect,useContext,useMemo,useCallback,自定义 Hook )
88 1
|
4月前
|
JavaScript
react18【系列实用教程】useRef —— 创建 ref 对象,获取 DOM (2024最新版)
react18【系列实用教程】useRef —— 创建 ref 对象,获取 DOM (2024最新版)
52 0
|
6月前
|
前端开发 JavaScript 测试技术
React Hooks之useState、useRef
React Hooks之useState、useRef
|
6月前
|
存储 前端开发 JavaScript
React Hooks的useState、useRef使用
React Hooks的useState、useRef使用
68 2
|
6月前
|
存储 前端开发 JavaScript
[React] useRef用法和特性
[React] useRef用法和特性
100 0
|
6月前
|
前端开发 JavaScript
React useRef 详细使用
React useRef 详细使用
73 0