同
react hook 和 vue composition api很像,都可以在不编写class的情况下,在函数组件中使用state和生命周期函数
异
他们的不同点在于:
react hook底层是基于链表实现的,每次组件被render的时候都会顺序执行所有的hooks,这也就导致了一个问题:不能将hooks放在if条件语句中,否则会打乱hooks的执行顺序导致错误。
vue composition api底层是基于proxy代理实现,组件在最开始会注册渲染唯一一次,随后在任何一个更改data的地方,相关的function和template都会被重新计算,而不会重新渲染整个组件