hooks|hooks 系列八(hooks 小结)
快来加入我们吧!
"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( https://xhs-rookies.com/ ) 进行学习,及时获取最新文章。
"Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!
Hooks 小结
到此为止,我们的 hooks
系列只剩下最后一个大案例了。现在我们来对之前的内容做一个回顾。
我们首先介绍了 hooks
什么是 hooks
hooks
是 React 16.8
新增的特性,它可以在不编写 类组件 的情况下使用 state
以及其他的 React
特性
为什么引入 hook
- 在组件之间复用状态逻辑很难
- 复杂组件变得难以理解(生命周期内有不相关的逻辑
- 类组件中
this
指向问题不容易理解
useState()
用于为函数组件引入状态。纯函数不能有状态,所以使用钩子来引入状态。创建和使用
const [count, setCount] = useState(defaultValue) // 假设 defaultValue 为 0
useState
返回的是一个数组,一般直接使用解构赋值取出两个值,state
以及 修改 state 的函数
。这两个值是需要成对获取的。使用多个
useState
就可以定义多个 state
变量。介绍了 useEffects
Effect Hook
可以让你在函数组件中执行副作用操作,换句话说可以完成一些类似 Class 中生命周期的功能。创建和使用
useEffect(() => {
// 执行一些副作用操作
},[]);
useEffect
相当于 class
中三个生命周期的组合。在 class
中不同,每一个生命周期,都会有一些不相关的逻辑代码,useEffect
将这些代码进行了更好的拆分。介绍了 useRefs
useRef
返回一个可变的 ref
对象,其 .current
属性被初始化为传入的参数(initialValue
)。返回的 ref
对象在组件的整个生命周期内保持不变。const refContainer = useRef(initialValue)
它返回的
ref
对象在组件的整个生命周期保持不变,让我们在函数组件中,也可以像 Class
组件一样保存一些实例属性,为我们开发带来了许多可能性,除了这些新奇的功能,不要忘记 ref
开始获取 DOM
属性的功能,因为在 useRef
同样可以适用。介绍了 useCallback
讲述了 hook 的规则
- 只能在最顶层使用
Hook
- 不要在循环,条件或嵌套函数中调用 Hook
- 只能在
React
函数中调用Hook
- 不要在普通的 JavaScript 函数中调用 Hook
自定义 Hook 是一个函数,其名称以 "
use
" 开头,函数内部可以调用其他的 Hook在文章中,我们使用两个简单的案例,讲述了 自定义 hook 的创建和使用。
const useMyHook = (initValue) => {
const [value, setValue] = useState(initValue || '')
return value
}
这就是我们的简单创建,而使用方式与
useState
类似,只需要创建时取出值就可以进行使用。function App() {
const myHookValue = https://www.it610.com/article/useMyHook('myHook')
return {myHookValue}
}
下节预告 【hooks|hooks 系列八(hooks 小结)】我们在后续,还会有一个案例,对
hooks
系列文章中的所学内容进行尝试。使用了一个留言功能的案例。推荐阅读
- 八、「料理风云」
- 【欢喜是你·三宅系列①】⑶
- 你不可不知的真相系列之科学
- 2018.03.18
- 被新冠“病毒”感染的日常生活(八)
- 人脸识别|【人脸识别系列】| 实现自动化妆
- 【同心同舵】郑友贤第八季思维导图武林计划No.15《点评作业5》
- 第二十八封信
- 21天高情商活法功课|21天高情商活法功课 ,第八天
- 2018-06-13金句系列7(金句结构-改编古现代诗词)