如果你刚开始接触 Hook,那么可能需要先查阅 Hook 概览。你也可以在 Hooks FAQ 章节中获取有用的信息。
原文:https://dev.to/voluntadpear/comparing-react-hooks-with-vue-composition-api-4b32
你可能已经注意到 React Hook 中有一个名为 useMemo 的奇怪的钩子。这个奇怪的钩子意味着什么,它的作用是什么?重要的是,它是怎样为你提供帮助的?
在过去,像状态和生命周期函数这样的 React 特性只适用于基于类的组件。基于函数的组件被称为哑(dumb)、瘦(skinny)或表示(presentational)组件,因为它们无法访问状态和生命周期函数。
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。本文是一篇以实战为主的文章,主要讲解实际项目中如何使用hooks以及一些最佳实践,不会一步步再介绍一遍react hooks的由来和基本使用,因为写hooks的文章很多,而且官网对于react hooks的介绍也很详细,所以大家不熟悉的可以看一遍官网。
在传统的 class 中,会使用 componentDidMount 和 componentDidUpdate 获取数据。同时 componentDidMount 中也会处理一些其他的事务,例如事件监听,定时器等等。而后还需要在 componentWillUnmount 中取消。万一忘记其中某一个部分或者处理的时间过多,很可能导致一些可怕的bug。
Vue3 在经过多个开发版本的迭代后,迎来了它的正式版本,,其中最重要的一项RFC就是 Vue Function-based API RFC,很巧的在不久前正好研究了一下react hook,感觉2者的在思想上有着异曲同工之妙,所以有了一个想总结一下关于hook的想法,同时看到很多人关于hook的介绍都是分开讲的,当然可能和vue3.0对于这个特性的说明刚刚问世也有一定的关系。
Hook 是以 use 开头的特殊函数(useState、useEffect等),只能在 函数组件 内部使用。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。譬如 useState 就等同于 class组件中的state对象。
把内联回调函数及依赖项数组作为参数传入 useCallback,它将返回该回调函数的 memoized 版本,该回调函数仅在某个依赖项改变时才会更新。
性能优化总是会有成本,但并不总是带来好处。我们来谈谈 useMemo 和 useCallback 的成本和收益。
Hooks 严重依赖于 JS 闭包,但是闭包有时很棘手,当咱们使用一个有多种副作用和状态管理的 React 组件时,可能会遇到的一个问题是过时的闭包。
React v16.8 引入了 Hooks,它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。这些功能可以在应用程序中的各个组件之间使用,从而易于共享逻辑。Hook 令人兴奋并迅速被采用,React 团队甚至想象它们最终将替换类组件。
❗️❗️HOC、Render Props 等基于组件组合的方案,相当于先把要复用的逻辑包装成组件,再利用组件复用机制实现逻辑复用。自然就受限于组件复用,因而出现扩展能力受限、Ref 隔断、Wrapper Hell……等问题
翻了波之前写的文章还有笔记,发现关于前端的文章并不多。巧了,最近没什么好话题可写,做下 React Hook 学习笔记吧(持续更新~✨?)。 Effect Hook Effect Hook 死循环请求
Hook 是以 use 开头的特殊函数,让 函数组件 拥有 calss组件 的某些特性。Effect Hook 就是指 useEffect 这个特殊函数,它让 函数组件 能在渲染完成后执行自定义操作。
在这篇文章中,作者按照官方文档的描述,分析用 React Hooks 代替类的动机,一如标题所示,作者并不是很喜欢这一特性。
preact hook 作为一个单独的包preact/hook引入的,它的总代码包含注释区区 300 行。
自从 React 16.8 发布之后,它带来的 React Hooks 在前端圈引起了一场无法逆转的风暴。React Hooks 为函数式组件提供了无限的功能,解决了类组件很多的固有缺陷。这篇教程将带你快速熟悉并掌握最常用的两个 Hook:useState 和 useEffect。在了解如何使用的同时,还能管窥背后的原理,顺便实现一个 COVID-19(新冠肺炎)可视化应用。
领取专属 10元无门槛券
手把手带您无忧上云