2017-04-18 8 views
3

どのように機能コンポーネントが「純粋」であるかを、コンポーネントクラスのReact.PureComponentに相当するものとして反応させますか?そのクラス@Shubhamと@Andrewへ機能コンポーネントを「純粋」と宣言します

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

@AndrewLi純粋関数ではなく、純粋なコンポーネント(浅い比較を使用するコンポーネントを)。 – Sulthan

答えて

4

作るなし

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


いいえ、機能部品はPureComponentのではありません。親コンポーネントが再レンダリングすると、機能コンポーネントは常に再レンダリングされます。 PureComponentにはデフォルトのshouldComponentUpdate()が含まれていますが、OPが望んでいると思います。


あなたの機能コンポーネントをラップし、最適化するために、recomposeが提供するpureを使用することができます。

import pure from 'recompose/pure' 

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

export default pure(YourFunctionalComponent) 
関連する問題