3 回答

TA貢獻1794條經驗 獲得超7個贊
我不是反應超常的天才,但據我了解,我們可以在以下情況下使用每個組件
無狀態組件- 這些組件沒有生命周期,因此應在呈現父組件的重復元素時使用這些組件,例如呈現僅顯示信息且沒有任何動作要執行的文本列表。
純組件-這些是具有生命周期的項目,并且在給出一組特定的道具時,它們將始終返回相同的結果。當顯示結果列表或不包含復雜子元素的特定對象數據時,可以使用這些組件,并用于執行僅影響自身的操作。這樣的顯示用戶卡列表或產品卡列表(基本產品信息),并且用戶只能執行的操作是單擊以查看詳細信息頁面或將其添加到購物車。
普通組件或復雜組件-我使用了術語“復雜組件”,因為它們通常是頁面級組件,由許多子組件組成,并且由于每個子組件都可以以自己獨特的方式運行,因此您不能百分百確定它會在給定狀態下呈現相同的結果。正如我通常所說的,這些應該用作容器組件

TA貢獻1810條經驗 獲得超4個贊
React.Component
是默認的“常規”組件。您可以使用class
關鍵字和聲明它們extends React.Component
。將它們視為具有生命周期方法,事件處理程序和任何方法的類。React.PureComponent
是使用功能對其和進行淺表比較的函數React.Component
實現的。你必須使用,如果你知道的組件具有改變的道具或狀態嵌套的數據,你想重新呈現。因此,如果當您作為道具傳遞或設置為狀態的數組或對象發生變化時需要重新渲染組件,則它們并不是很好。shouldComponentUpdate()
props
state
forceUpdate()
功能組件是沒有生命周期功能的組件。它們據說是無狀態的,但是它們是如此干凈整潔,以至于我們現在有了鉤子(自React 16.8起),因此您仍然可以擁有狀態。所以我想它們只是“干凈的組件”。
添加回答
舉報