温习组件而知新
->TS->VUE3/react-hooks -> webpack/rollup - nodejs->leader
1.生命周期 -- 只有类组件中才有
受控组件 - - 它的数据全部来源于props
三个阶段:挂载、更新、卸载
在挂载和更新,render方法是更新虚拟dom的必要生命周期,这个方法执行以后,就表示虚拟dom完成了挂载/更新
挂载:能够使用setState方法的只有componentDidMount生命周期,在页面初始化发起异步请求
等赋值动作,都是在这里完成 -- 这个生命周期一定是记住用的
getDevideStateFromProps 这个是一个静态方法 前面+static,它可以把props数据映射成一个state数据,
它还是更新生命周期的第一个生命周期
更新:shouldComponentUpdate 它是用于组件渲染优化的一个生命周期,它可以通过返回bool值来
进行渲染拦截,当前this对象上的props和state都是更新前的数据(老数据),这个函数传递进来的数据事最新的数据
componentDidUpdate 它是已经完成更新的生命周期,它可以在数据更新后根据条件来执行setState
方法,当前this对象上的props和state都是最新的数据,而形参是更新前的数据(老数据)
卸载:componentWillUnmount 常常用于事件解绑、大数据销毁、定时器销毁
2.钩子函数 -- 只有函数组件才有
useState:定义一个state数据和更新state数据的方法,这个方法执行以后返回的是一个数组,
第一个数据是state数据对象,第二个数据事更新state数据的方法
useEffect:它接收两个参数
1.如果第二个依赖参数不传递,那么所有的state和props更新都会执行第一个回调函数
2.如果第二个依赖传递一个空数组,那么可以当类组件的生命周期使用,第一个回调函数相当一
componentDidMount 生命周期(也是Vue的mounted生命周期),如果回调函数中返回了一个函数CB,那么这个CB函数相当于类组件的componentWillUnmount生命周期
3.如果第二个依赖传递了一个数据,那么只有这个数据的变化会引起回调函数执行,相当于vue的watch,还相当于react的类组件的componentDidUpdate
useMemo:它是用于定义一个计算方法,然后缓存计算结果,并返回计算结果
useCallback:它是用于定义个回调函数,并缓存这个回调函数,并监听依赖数据变化去更新回调函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构