2017-04-18 73 views
3

如何發信號通知React功能組件是「純」的,相當於組件類React.PureComponent聲明一個功能組件爲「純」

function C(props) { 
    return <var>{props.n}</var> 
} 

沒有使其成爲一類

class C extends React.PureComponent { 
    render() { 
    return <var>{this.props.n}</var> 
    } 
} 
+0

@AndrewLi純函數,而不是一個純粹的組件(即使用比較淺的一個組成部分)。 – Sulthan

回答

4

要@Shubham和@Andrew:
不,功能部件不PureComponent秒。如果父組件重新呈現,則功能組件將始終得到重新呈現。一個PureComponent包含一個默認的shouldComponentUpdate(),我認爲這是OP想要的。


您可以使用recompose提供pure來包裝和優化功能組件:

import pure from 'recompose/pure' 

const YourFunctionalComponent = (props) => { 
    ... 
} 

export default pure(YourFunctionalComponent)