2017-07-10 1 views
3

この符号化パターン:redux connectの新しいComponentクラスを作成するのはなぜですか?参照で

import React, { Component } from 'react'; 
import { connect } from 'react-redux'; 
import Thing from '../components/Thing'; 

class ThingContainer extends Component { 
    render() { 
    return <Thing {...this.props} />; 
    } 
} 

function mapStateToProps(state) { 
    ... 
} 

export default connect(mapStateToProps)(ThingContainer); 

だから、1)2)他の成分(技術的にコンテナされていないThingContainer)その第一成分をレンダリングするクラスを作成し、最後に使用し、成分(シング)をインポート接続して最後にコンテナをエクスポートします。

上記の手順2をスキップし、インポートされたコンポーネント(Thing)を直接使用してコンテナをエクスポートすると、違いは何ですか?

答えて

3

ええ、そのファイルは多少不要です。 class ThingContainerコンポーネントは、connectによって生成されたラッパーコンポーネントとまったく同様に、<Thing>にプロップを転送するだけです。だから、それは無用です - ファイルはexport default connect(mapState)(Thing)を実行するだけで、それは余分なThingContainer定義なしでまったく同じように動作します。

関連する問題