• react和vue3使用hook对比


    reactvue3使用hook对比

    hook最开始是react函数式提出并引用的概念,react函数式组件(FC)和hook的推出让react的写法更加灵活简便,个人认为vue的新版本vue3在很多方便都借鉴了react函数式组件的优点,当然也就包括了hook。

    对比

    react有很多内置的hook,比如最常用的useCallback, useMemo,useState,useEffect,以及相对不常用的useReducer等等,vue3新推出了组合式API概念,不过在我看来,实际上的使用和设计理念和react的hook是有很多相似之处的。

    react通过useEffect来实现类组件中才有的声明周期方法来控制组件的生命周期,通过useState或者useReducer来创建和操作组件内状态,这里不得不说useEffect这个钩子的秒处,他可以通过不同的用法操作处理各种副作用,实现控制react函数式组件不同的生命周期(函数式组件本没有生命周期概念,这里这样讲是为了类比类组件,更好理解)。

    vue通过组合式Api来实现对vue组件的生命周期以及组件内状态的控制,比如使用ref, reactive来管理vue的组件内状态,使用computedwatch, watchEffect来监听状态变化,使用onMounted, onBeforeMount, onBeforeUpdate, onUnmounted等来在组件的各个生命周期插入操作。

    Vue优点
    • 仅调用 setup()