React高階組件特點

一 、高階組件(下面都稱作HOC)HOC應該是無副作用的純函數,且不應該修改原組件。HOC接收一個函數作參數,render時僅僅渲染了被包裝的組件,並沒有侵入式的修改它。
二、HOC不關心你傳遞的props是什麼,並且被包裝的組件不關心數據來源。
三、HOC接收到的props應該傳遞給被包裝的組件,但它可以對props進行操作(非直接修改props)
注意:
1 HOC不應該在render函數中創建
2 HOC也需要複製組件中的靜態方法
3 HOC中的ref引用的是最外層的容器組件
示例代碼:

function withConsle(WrappedComponent) {
    return class extends React.Component {
        componentDidMount () {
            console.log('with console: WrappedComponent had mount'
        }
        render () {
            return <WrappedComponent (...this.props)></WrappedComponent>
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章