Javascript 反应:useState()vs useRef()
我已经看过一次了 我试图在脑海中比较useState()和useRef() useState()和useRef()的共同点:Javascript 反应:useState()vs useRef(),javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我已经看过一次了 我试图在脑海中比较useState()和useRef() useState()和useRef()的共同点: 仅在功能组件中提供 创建静态值–值在函数调用之间保持不变 值是可变的 在其功能组件中确定范围 范围包括其功能组件中的其他挂钩(用途) useState()和useRef()之间的差异: useState触发器重新呈现,useRef不会 useRef可以引用子元素(通过“ref={}”),useState不能 对于子DOM元素,ref={}引用DOM元素本身 对于子组
- 仅在功能组件中提供
- 创建静态值–值在函数调用之间保持不变
- 值是可变的
- 在其功能组件中确定范围
- 范围包括其功能组件中的其他挂钩(用途)
- useState触发器重新呈现,useRef不会
- useRef可以引用子元素(通过“ref={}”),useState不能
- 对于子DOM元素,ref={}引用DOM元素本身
- 对于子组件,ref={}引用子组件本身
- useState异步更新其值,useRef同步更新
基本上你的比较是正确的,但正如评论中已经提到的,它们有不同的用途。您只需要知道,
useRef
基本上是:
useRef()基本上是useState({current:initialValue})[0]
两者用于不同的目的,本质上没有比较