如何撰写唐山网站制作案例设计说明?
摘要:唐山网站制作案例,设计说明怎么写200字,网站title字数,网站备案号的链接React(八)一、类组件的优劣势1.类组件的优势2.类组件的劣势(1&
唐山网站制作案例,设计说明怎么写200字,网站title字数,网站备案号的链接React#xff08;八#xff09;一、类组件的优劣势1.类组件的优势2.类组件的劣势#xff08;1#xff09;复杂组件会难以理解#xff08;2#xff09;复杂的class#xff08;3#xff09;组件复用状态很难二、Hook初体验useState1.使用Hook的计数器案例2.详解useState八一、类组件的优劣势1.类组件的优势2.类组件的劣势1复杂组件会难以理解2复杂的class3组件复用状态很难二、Hook初体验useState1.使用Hook的计数器案例2.详解useState1猜测它的原理2参数和返回值是什么3.使用Hook的一些规则三、useEffect使用详解1.基本使用方式和细节2.清除Effect如事件监听、订阅3.可以使用多个useEffect4.决定useEffect的执行次数一、类组件的优劣势
1.类组件的优势
之前我们一直用类组件写demo类组件相对于函数组件有什么优势
类组件可以保存组件自己的状态但是在函数组件中修改数据页面不会重新渲染而且就算重新渲染重新执行函数又重新赋值等于没改。
import React, { PureComponent } from react// 函数组件
function HelloHooks() {// 就算函数重新执行, 又会重新赋值, 无意义let message Hello Hooksreturn(divh2{message}/h2/div)
}export class App extends PureComponent {render() {return (divHellWorld/HelloHooks//div)}
}export default App类组件有自己的生命周期钩子比如我们在componentDidMount中发送网络请求并且该生命周期函数只会执行一次。但是函数组件在哪里发请求呢如果在函数中发请求那么每次重新渲染又重新调用函数又重新发请求这样反复发请求很沙雕。
class组件可以在状态改变时, 只重新执行render函数以及我们希望重新调用的生命周期函数如componentDidUpdate函数式组件在重新渲染时整个函数都会被执行似乎没有什么地方可以只让它们内部的某段代码只执行一次。
所以在Hook之前通常都用类组件写项目。
2.类组件的劣势
1复杂组件会难以理解
随着业务的增多我们的class组件会变得越来越复杂;
比如componentDidMount中可能就会包含大量的逻辑代码包括网络请求、一些事件的监听(还需要在 componentWillUnmount中移除);
而对于这样的class实际上非常难以拆分因为它们的逻辑往往混在一起强行拆分反而会造成过度设计增加代码的复杂度;
2复杂的class
最显著的问题就是this的指向问题如果this不处理好可能会出现一些错误。
3组件复用状态很难
比如我们之前使用redux中的数据需要用connect这样的高阶组件或者如果想实现什么功能还需要自己封装高阶组件给类组件注入一些东西这还是非常费劲的。
