react hooks useState闭包理解

 const [ count, setCount ] = useState( 0 )
  console.log( 'redner...' );
  const cuRef = useRef( {
    timer: null,
    count: 0
  } )
  const printBtnClick = () => {
    cuRef.current.count = count + 1
    console.log( 'printBtnClick 1', count );
    setCount( count + 1 )
    console.log( 'printBtnClick 2', count );
    // if ( cuRef?.current?.timer ) {
    //   clearTimeout( cuRef.current.timer )
    // }
    // cuRef.current.timer = setTimeout( () => {
    //   console.log( 'printBtnClick 3', count, cuRef.current );
    // }, 5000 );
    setTimeout( () => {
      console.log( 'printBtnClick 3', count, cuRef.current );
    }, 5000 );
    //  btnClick && btnClick()
  }

react hooks 每个状态都会形成一个闭包环境,  如果想让多个闭包之前共享变量,可以用单例模式或者useRef传值方式

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...