hooks(函数组件的开发)分享流程

分享形式:每模块之后要练习

useState(类组件中的setState)基本使用

1.看class组件写的点击次数组件
2.看函数组件写的组件
3.比较两次设置状态的区别
4.抛出问题:
a.setState是同步还是异步,useState是否相同
只在合成事件和钩子函数中是“异步”的,在原生事件和 setTimeout/setInterval等原生 API 中都是同步的。简单的可以理解为被 React 控制的函数里面就会表现出“异步”,反之表现为同步。
参考链接:https://www.jianshu.com/p/ce39a08b585e

b.setState具有回调函数(同步操作),useState是否有回调函数

useEffect(类组件中的didmount和didUpdate或者willUnmount)的基本使用

一.介绍useEffect的基础用法
1.看class组件didmount和didUpdate
2.看如何使用useEffect代替didmount和didUpdate
二.介绍useEffect的解绑,实现组件的卸载
1.看如何使用useEffect代替willUnmount
2.如何条件执行解绑方法
三. useEffect大致的执行顺序:
渲染 => (如果上面有执行过effect钩子,则先卸载) => useEffect钩子

解释一下副作用:对外部变量产生影响的叫做副作用,纯函数没有副作用(https://www.jianshu.com/writer#/notebooks/39505251/notes/56299215/preview)
抛出自己遇到的问题:
1.useEffect中文意思是使用副作用,但是只有useEffect时候才会产生副作用吗
2.和类组件中的有状态组件和无状态组件是一个概念吗(我认为是的)

使用useContext(类组件中的Context)传参:

1.创建Context并导出
2.使用provider发送,用consumer(标签)或者useContext(函数)接收

使用useReducer(本应该是redux中的概念)处理数据:

1.回顾redux中redux如何实现的(看代码)

  1. 对比一下redux中,参数意义基本上是一致的(看代码)

使用useContext和useReducer实现redux工作流的实例

看代码

useMemo基本使用:

1.单纯传参给子函数后
2.证明一下每次点击“刘能”按钮,赵四对应的方法都是执行,浪费了性能
3.使用useMemo解决问题,就不会每次浪费性能
总结:在父组件状态变化,子组件没有必要跟着改变状态的时候使用
4.讲一下useCallback和useMemo的异同点,介绍一下useCallback
5.讲一下useMemo和useEffect的区别(直接写个例子给大家看,用useEffect看一下效果
(个人认为useEffect可以实现useMemo的效果,但是还是分开比较好)

记住,传入 useMemo 的函数会在渲染期间执行。请不要在这个函数内部执行与渲染无关的操作,诸如副作用这类的操作属于 useEffect 的适用范畴,而不是 useMemo。

useRef(类组件中的createRef())的基本使用

用Hook编写自定义函数(其实就是把学到的大概用一遍)

你可能感兴趣的:(hooks(函数组件的开发)分享流程)