重新渲染后的以下函数如何保持当前值?
const Example = () => {
const [count, setCount] = useState(0);
return <button onClick={()=>setCount(count+1)} >{count}</button>
}
从逻辑上看:
- 初始渲染 = 我们用一个参数调用 useState
- rerender = 我们用一个参数再次调用 useState
将组件视为一个干净的功能,这应该可以工作。但据我所知, useState 将纯组件更改为不纯组件。
但这仍然不能解释在没有自己上下文的箭头函数中实现这种机制。useState 不应该知道它被调用的连续时间,如果它没有连接到父函数(如唯一 ID、this、回调等)
React Hooks 看起来打破了函数式编程的许多范式……