react中的useRef和useState
文章类型:React
发布者:hp
发布时间:2026-07-16
1:useRef
定义:useRef 创建一个可变的引用对象,其 .current 属性可以在组件的整个生命周期内保持不变,且不会触发重新渲染。它常用于保存 DOM 元素引用、定时器 ID、上一次的值等“非渲染依赖”的数据
代码:
const inputRef = useRef();
useEffect(() => {
inputRef.current.focus();
}, []);
<input ref={inputRef} />
2:useState
定义:可以用它声明一个状态变量,并提供一个更新该状态的函数,从而在用户交互或数据变化时触发组件重新渲染
代码:
const [user, setUser] = useState({ name: 'Alice', age: 25 });
// 正确:合并新值
setUser(prev => ({ ...prev, age: 26 }));
// 错误:直接修改
user.age = 26; // 不会触发重渲染
1:useState更新会触发渲染,而useRef则不会
useState:用于驱动 UI 变化的状态,更新会触发重渲染。
useRef:用于保存可变值,不触发渲染,适合存 DOM、定时器、历史值。
暂无评论,快来发表第一条评论吧~