一 、高階組件(下面都稱做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> } } }