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、定时器、历史值。

评论
0条评论遵守法律,文明用语,共同建设文明评论区

暂无评论,快来发表第一条评论吧~