Javascript 反应:useState()vs 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()

useState()和useRef()的共同点:

  • 仅在功能组件中提供
  • 创建静态值–值在函数调用之间保持不变
  • 值是可变的
  • 在其功能组件中确定范围
  • 范围包括其功能组件中的其他挂钩(用途)
useState()和useRef()之间的差异:

  • useState触发器重新呈现,useRef不会
  • useRef可以引用子元素(通过“ref={}”),useState不能
  • 对于子DOM元素,ref={}引用DOM元素本身
  • 对于子组件,ref={}引用子组件本身
……并补充说:

  • useState异步更新其值,useRef同步更新
到目前为止,我有3个问题:

  • 上述共性和差异是否正确
  • 还有什么我应该注意的共同点或不同点吗
  • 从创建引用的组件(useRef+ref={})中,我可以获取并设置子组件上的值吗(是的,这样做可能/可能不明智)
    基本上你的比较是正确的,但正如评论中已经提到的,它们有不同的用途。您只需要知道,
    useRef
    基本上是:

    useRef()基本上是useState({current:initialValue})[0]


    两者用于不同的目的,本质上没有比较