关于useState与useRef的注意点

512 阅读1分钟

踩坑总结

  • useState:
    • 作为组件的常量,个人理解为组件的依赖项,每次更新state都会让整个组件重新执行更新
    • useState(() => {console.log('初始化执行一次')}),useState默认值为函数时,会在初始化时直接执行一次这个函数,而不是默认值为函数。官方定义:惰性初始化。PS: 想要默认值为函数 useState(() => () => {})
    • setState('a', () => {})在修改state后想要立即执行某个操作,直接传递给setState第二个参数即可
  • useRef:
    • useRef不是定义一个组件依赖项,所以他的修改不会引起组件的重新执行更新