React 中高階元件 HOC 用法簡述

2021-10-08 12:26:51 字數 1220 閱讀 8076

簡單的講,higher-order components就是乙個函式,傳給它乙個元件,它返回乙個新的元件。

官網的定義:

元件(hoc)是 react 中用於復用元件邏輯的一種高階技巧。hoc 自身不是 react api 的一部分,它是一種基於 react 的組合特性而形成的設計模式。

具體而言,高階元件是引數為元件,返回值為新元件的函式。

const enhancedcomponent =

higherordercomponent

;

我們可以通過高階元件來實現乙個元件底部的共享版權資訊新增?

import react from

'react'

// 函式式元件內部返回乙個class型別元件

const

=(innercomponent)

=>}}

export

//將我們的hoc的函式式元件暴露出去

home.js

import react,

from

'react'

//將hoc函式式元件引入

class

home

extends

component

}export

default

(home)

//用函式式元件包裹類元件後暴露匯出

index.js

import react from

'react'

;import reactdom from

'react-dom'

;import mycomponent from

'./hoc/home.jsx'

//引入home

※hoc的一些問題:

React 高階元件 HOC

來看個例子 import react,from react class page1 extends component render export default page1 這個例子中在元件掛載前需要在localstorage中取出data的值,但當其他元件也需要從localstorage中取出同...

React 高階元件(HOC)

高階元件 highordercomponent 是 react 中用於復用元件邏輯的一種高階技巧。hoc 自身不是 react api 的一部分,它是一種基於 react 的組合特性而形成的設計模式。具體來說,高階元件是乙個函式,能夠接受乙個元件並返回乙個新的元件,通過高階函式可以幫助我們實現某些邏...

react篇之高階元件 HOC

高階元件 簡單來說,高階元件可以看做乙個函式,且該函式接受乙個元件作為引數,並返回乙個新的元件。我在之前的部落格 閉包和類 中提到乙個觀點,物件導向的好處就在於,易於理解,方便維護和復用。其實高階元件,也是為了更好地復用之前的元件。它可以理解為,基礎元件通過包裹處理,生成乙個適應某些場景的元件。它可...