高階組件深入理解
高階組件就是一個函數,傳給它一個組件,它返回一個新的組件。新的組件使用傳入的組件作為子組件。首先根據定義我們明白它就是一個函數,而且它必須有返回值,返回值是一個組件,當然這里我們高階組件可以嵌套。
其實高階組件就是把公用的一些部分提出來,把修改的部分以參數的形勢傳進去,在這里可能有人會說這那需用什么高階組件,我自己封裝一個組件也可以達到同樣的效果,簡單的組件在這里你可能通過封裝來實現,但是我舉兩個例子大家在想一下怎么通過組建封裝來實現:
2、我們在redux中組件頂部寫一行代碼@connect之后就可以在組件中通過this.props訪問store中的數據和一些修改數據的方法。
我們從一個實際問題來理解並學習高階組件:有類似的幾個組件但是組件內部只有少部分是不同的,它們身上都還有一些公用的方法,並且這些少部分組件組件都還要調用大組件的方法或者訪問它的一些數據。我們來分一下:
1、這幾個組件的大部分樣式和功能是相同的,我們可以可以思考能不能只寫一次;
2、它們不同的地方還會觸發一些相同的方法;
3、不同的地方只是內部的一小部分;