Javascript 定制挂钩如何在引擎盖下工作?
给定的自定义钩子有一个变量count和一个setCount函数,它返回count,另一个函数在引擎盖下使用setCount来更改count变量 我很想知道这是怎么回事。是因为函数useCounter创建了一个闭包吗Javascript 定制挂钩如何在引擎盖下工作?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,给定的自定义钩子有一个变量count和一个setCount函数,它返回count,另一个函数在引擎盖下使用setCount来更改count变量 我很想知道这是怎么回事。是因为函数useCounter创建了一个闭包吗 import {useState} from "react" function useCounter() { const [count, setCount] = useState(0) function increment() { setCount
import {useState} from "react"
function useCounter() {
const [count, setCount] = useState(0)
function increment() {
setCount(prevCount => prevCount + 1)
}
return [count, increment]
}
export default useCounter
React将使用钩子的内部机制通过所有组件的所有渲染为您跟踪状态。解释它是如何工作的超出了SO答案的范围(不,这不是因为词汇闭包)。TL;博士,这是一些React巫毒魔法,很复杂。阅读源代码,从hooks代码开始:React将通过使用hook的内部机制跟踪所有组件的所有渲染状态。解释它是如何工作的超出了SO答案的范围(不,这不是因为词汇闭包)。TL;博士,这是一些巫毒魔法,很复杂。阅读源代码,从hooks代码开始: