一、hooks + 函數(shù)組件
實質(zhì)上就是使用函數(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綁定在抛,用于獲取內(nèi)容
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個內(nèi)置Hook