一、hooks + 函數(shù)組件
實質上就是使用函數(shù)組件+hook來實現(xiàn)類組件的功能;
官方期望用函數(shù)組件+hook逐步替代類組件:
為什么要替代類組件?
1、減低react的入門門檻,增加開發(fā)者數(shù)量
2、降低開發(fā)難度
3、函數(shù)式編程
二、什么是函數(shù)組件
1、函數(shù)組件就是一個函數(shù)
2、函數(shù)組件有兩個參數(shù)(props、ref)
props就是綁定在組件身上的props
ref綁定,用于獲取內容
3、函數(shù)組件的特點:
this為undefined
如果只使用函數(shù)組件,那么react的很多特性都不可能使用了
如:state、setState、forceUpdate、contextType、生命周期。。。
因為在類組件的這些特性都是建立在this上使用的,而函數(shù)組件沒有this,則就不能使用了
interface P {}
const App = (props: P,ref: any) => {
return <div>App</div>
}
export default App
三、hook鉤子函數(shù)
react 16.8版本之后才提供了一個新的特性:Hook
Hook + 函數(shù)組件才能實現(xiàn)react的特性
官方提供了10個內置Hook