一、hooks + 函数组件
实质上就是使用函数组件+hook来实现类组件的功能;
官方期望用函数组件+hook逐步替代类组件:
为什么要替代类组件?
1、减低react的入门门槛,增加开发者数量
2、降低开发难度
3、函数式编程
二、什么是函数组件
1、函数组件就是一个函数
2、函数组件有两个参数(props、ref)
props就是绑定在组件身上的props
ref绑定,用于获取内容
3、函数组件的特点:
this为undefined
如果只使用函数组件,那么react的很多特性都不可能使用了
如:state、setState、forceUpdate、contextType、生命周期。。。
因为在类组件的这些特性都是建立在this上使用的,而函数组件没有this,则就不能使用了
interface P {}
const App = (props: P,ref: any) => {
return <div>App</div>
}
export default App
三、hook钩子函数
react 16.8版本之后才提供了一个新的特性:Hook
Hook + 函数组件才能实现react的特性
官方提供了10个内置Hook