1.什么是hooks
Hooks:在单词本意为钩子,钩住,所以由此可以得知Hooks可以让你在函数组件里“钩住”React state以及生命周期等特性的函数。是React16.8所更新的新增特性。它可以让你在不编写class的情况下使用state以及其他的React特性
它的主要作用:为函数组件提供状态,生命周期等原本只能在类组件中才提供的功能
注:1.Hooks只能在函数组件中使用
2.可以理解为通过Hooks为函数组件钩入class组件的特性
2.为什么需要Hooks
为什么需要Hooks就要从Class组件本身的问题来讲
在根据状态来渲染UI这件事上,Class组件并没有发挥它最重要的功能
1.组件之间很少继承
2.组件之间很少互相访问
而函数组件本身比较简单,更好的胜任根据状态来渲染UI这件事
那么Hooks给函数组件带来了两个好处:
1.Hooks让函数式组件有了能够维护内部状态的能力
2.Hooks给函数式组件增加了逻辑复用的能力
3.在什么样的场景使用Hooks
1.react没有计划从React中移除class
2.Hook 和现有代码可以同时工作,你可以渐进式地使用:
2.1.不推荐直接使用 Hooks 大规模重构现有组件
2.2.推荐新功能用 Hooks,复杂功能实现不了的,也可以继续用 class
2.3.找一个功能简单、非核心功能的组件开始使用 hooks
3.class组件相关的 API 在hooks中可以不用
3.1 state与setState
3.2 钩子函数,componentDidMount
、componentDidUpdate
、componentWillUnmount
3.3 this
相关的用法
4.之前所认识的
4.1 JSX:{}
、onClick={handleClick}
、条件渲染、列表渲染、样式处理等
4.2 组件:函数组件、组件通讯
4.3 React 开发理念:单向数据流
、状态提升
等