4.1 初識高階元件
import react,
from
'react'
const
withlearnreact
= comp =>
繼承原來元件的屬性,title屬性
//新元件加了name屬性
return
"newattributename"
>
<
/comp>
}return newcompnent
}class
extends
component
<
/p>
name屬性:
<
/p>
<
/div>)}
}export
default
withlearnreact
index.js
import react from
'react'
import reactdom from
'react-dom'
import
'./index.css'
;import
*as serviceworker from
'./serviceworker'
reactdom.
render
("我是title屬性"
/>
, document.
getelementbyid
('root'))
serviceworker.
unregister
()
4.2 ⾼階元件的鏈式調⽤
import react,
from
'react'
//第乙個高階元件,新增屬性
const
withlearnreact
= comp =>
繼承原來元件的屬性,title屬性
//新元件加了name屬性
return
"newattributename"
>
<
/comp>
}return newcompnent
}//第二個高階元件,重寫生命週期
const
withlifecycle
=comp=>
render()
>
<
/comp>}}
return newcompnent
}class
extends
component
<
/p>
name屬性:
<
/p>
<
/div>)}
}export
default
withlifecycle
(withlearnreact
)
4.3 ⾼階元件裝飾器
上面的最後一行,是不是讓你很懵
export
default
withlifecycle
(withlearnreact
)
我們可以不用鏈式呼叫,改用裝飾器
用裝飾器前期準備工作
import react,
from
'react'
//第乙個高階元件,新增屬性
const
withlearnreact
= comp =>
繼承原來元件的屬性,title屬性
//新元件加了name屬性
return
"newattributename"
>
<
/comp>
}return newcompnent
}//第二個高階元件,重寫生命週期
const
withlifecycle
= comp =>
render()
>
<
/comp>}}
return newcompnent
}@withlearnreact
@withlifecycle
class
extends
component
<
/p>
name屬性:
<
/p>
<
/div>)}
}export
4.4 元件通訊之上下⽂(context)
import react,
from
'react'
let store=
class
info
extends
component
<
/p>
性別:<
/p>
<
/div>)}
}function
*******
(props)
>
<
/info>
<
/div>)}
class
extends
component
***=
>
<
/*******>
<
/div>)}
}export
import react,
from
'react'
//建立上下文
const hahacontext=react.
createcontext()
const
=hahacontext
let store=
class
info
extends
component
<
/p>
性別:<
/p>
<
/div>)}
}<
/consumer>)}
}function
*******
(props)
class
extends
component
>
<*******>
<
/*******>
<
/provider>
<
/div>)}
}export
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 元件 高階元件的作用主要是用來加強元件,通過把基礎元件拆分成很小的粒度,通過高階元件進行增強並返回,以此提高復用性。比如需要開發乙個訊息框,一開始只需要乙個模態框能夠顯示訊息就可以。後來需要多增加 ...