自定义输入元素上带有 TypeScript 的 useRef 是 React 中的一个钩子函数,用于在函数组件中创建一个可变的引用。它可以用来获取或修改 DOM 元素的属性或值。
使用 useRef 的语法如下:
const ref = useRef<T>(initialValue);
其中,T 表示引用的类型,initialValue 是可选的初始值。
使用 useRef 可以实现以下功能:
import React, { useRef } from 'react';
function MyComponent() {
const inputRef = useRef<HTMLInputElement>(null);
const handleClick = () => {
if (inputRef.current) {
inputRef.current.focus();
}
};
return (
<div>
<input type="text" ref={inputRef} />
<button onClick={handleClick}>Focus Input</button>
</div>
);
}
在上述代码中,inputRef.current 将返回 input 元素的引用,可以通过调用 focus() 方法使输入框获取焦点。
import React, { useRef } from 'react';
function MyComponent() {
const countRef = useRef<number>(0);
const handleClick = () => {
countRef.current += 1;
console.log(countRef.current);
};
return (
<div>
<button onClick={handleClick}>Increment</button>
</div>
);
}
在上述代码中,每次点击按钮时,countRef.current 的值会递增,并通过 console.log 输出。
import React, { useRef, useEffect } from 'react';
function MyComponent() {
const prevValueRef = useRef<string>('');
useEffect(() => {
console.log('Value changed:', prevValueRef.current);
prevValueRef.current = 'new value';
}, []);
return <div>My Component</div>;
}
在上述代码中,通过 useEffect 钩子函数监听组件的变化,并在变化时打印上一次的值。prevValueRef.current 可以存储上一次的值,并在 useEffect 中更新为新的值。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云