React高階組件特色

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

function withConsle(WrappedComponent) {
    return class extends React.Component {
        componentDidMount () {
            console.log('with console: WrappedComponent had mount'
        }
        render () {
            return <WrappedComponent (...this.props)></WrappedComponent>
        }
    }
}
相關文章
相關標籤/搜索