React高階元件Hook

2021-09-27 12:36:39 字數 1060 閱讀 4153

hook是react16.8新增的,它可以讓你在不編寫class的情況下使用state以及其他react特性。

hook特點①使你在無需修改元件的情況下復用狀態邏輯②可將元件中互相關聯的部分拆分成更小的函式,複雜元件將更容易理解③更簡潔,更容易理解的**

先來看個例子

import react, from 'react'

export function hook()

}>增加

}

引入usestate,它可以對函式元件新增狀態,用乙個陣列接收,上面的count即為5,addcount可以改變它的狀態。再看下面的例子

import react, from 'react'

export function hook(),)

return

}>增加

}

引入useeffect,它是乙個***鉤子,在元件每次渲染時都會重新執行,它跟class元件的compomentdidmount,compomentdidupdate,compomentwillunmount具有相同的用途,只是合成了乙個api。

還有乙個元件跨層級通訊context,它提供了一種不需要每層設定props就可以跨多層元件傳遞資料的方式

import react, from 'react'

const mycontext=react.createcontext()

const =mycontext

function hook(prop)

}//第一種方法

function hook(prop)

}//第二種方法

class hook extends react.component

) }

}//第三種方法(使用class指定靜態contexttype)

export function contexttest()

)}

引入乙個provider和consumer,然後就可以把contexttest的值傳遞給hook這個元件。上面還提供了三種方法

React高階元件

想想以前用原生和jquery的專案,上千行的code映入眼簾,瞬間有種昏死過去的衝動。難以維護,改乙個bug可能出現n個bug,真的是很痛苦。於是乎元件化成為了當前前端開發的主流技術。angular vue和react很好的幫我們實現了元件化。但是我們常常也會遇到一種情況,就是兩個元件往往有很多的重...

react高階元件

基本概念 函式可以作為引數被傳遞 函式可以作為返回值輸出 元件作為引數被傳遞,返回值是乙個元件 高階元件是乙個函式 案例 將a元件作為公共元件,bc元件作為a函式的引數,來共享顯示a元件 此處紅框是a元件,紅框裡左邊內容為b元件,右邊內容為c元件 1.建立公共的a元件 將元件a封裝成乙個函式,接收乙...

React 高階元件

高階元件 high order component,hoc 輸入 react 元件 輸出 react 元件 高階元件的作用主要是用來加強元件,通過把基礎元件拆分成很小的粒度,通過高階元件進行增強並返回,以此提高復用性。比如需要開發乙個訊息框,一開始只需要乙個模態框能夠顯示訊息就可以。後來需要多增加 ...