前端小菜鸡,问一个关于useCallback

234 阅读1分钟
const Login = () => {
	const [state , setState] = useState(1)
    
    const func = useCallback( () => {
    	console.log(state); // 他不是应该可以拿到最新的state,因为他的作用域就在这里,他是可以获取到state的 无论func的地址有没有发生变化
    }, [])
    
    
    console.log(state) // 为什么 这里的值一直都在变化 但是 func里面的state 没有发生变化,函数的作用域不是在他创建的时候就已经决定了吗?
    
    return (
    <div>
      <button onClick={ () => setState( ++state ) }>按钮1</button>
      <button onClick={ func }>按钮2</button>
    </div>
    )
}

let index = 1
function func(){ return index };
let func1 = func
index++

func1() === func() // ????

``