1. 語(yǔ)法上的區(qū)別:
函數(shù)式組件是一個(gè)純函數(shù)败砂,它是需要接受props參數(shù)并且返回一個(gè)React元素就可以了项炼。類組件是需要繼承React.Component的袖外,而且class組件需要?jiǎng)?chuàng)建render并且返回React元素屈暗,語(yǔ)法上來(lái)講更復(fù)雜孔祸。
2. 調(diào)用方式
函數(shù)式組件可以直接調(diào)用灸蟆,返回一個(gè)新的React元素驯耻;類組件在調(diào)用時(shí)是需要?jiǎng)?chuàng)建一個(gè)實(shí)例的,然后通過(guò)調(diào)用實(shí)例里的render方法來(lái)返回一個(gè)React元素。
3. 狀態(tài)管理
函數(shù)式組件沒(méi)有狀態(tài)管理可缚,類組件有狀態(tài)管理孽水。
4. 使用場(chǎng)景
類組件沒(méi)有具體的要求。函數(shù)式組件一般是用在大型項(xiàng)目中來(lái)分割大組件(函數(shù)式組件不用創(chuàng)建實(shí)例城看,所有更高效)女气,一般情況下能用函數(shù)式組件就不用類組件,提升效率测柠。