2016-08-15 13 views
0

多くのコンポーネントが同じアクションを共有する場合は、各コンポーネントのconnect()に渡すことができる単一のmapDispatchToProps関数を作成する方が良いですか?各コンポーネントに独自のmapDispatchToPropsを設定する必要がありますか?

私は10のアクションを共有する2つのコンポーネントを持っていますが、そのうちの1つは、他のアクションと関連のない別のアクションが必要です。 1つのアクションのためにmapDispatchToProps全体を再定義するのは残酷だと思われますが、それを固定するだけでは結構です。

答えて

0

すべての共有アクションを持つ別のコンポーネントを作成し、マップをpropsに送信して、この基本コンポーネントから別のコンポーネントを作成します。基本コンポーネントのアクションと機能を後で追加または変更できます。例えば:

export class BaseComp extends Component { 
    action1() { 
    //some action 
    } 
    action2() { 
    //some action 
    } 
} 

今あなたがしたい場合uはすべて自身でこれを使用することができますが、場合には、あなたがこのような何かを行うことができますいくつかの他の機能を追加したい:

export class secondComp extends BaseComp { 
    action3(){ 
    //some action 
    } 
} 

をちょうどあなたを置きます最初のコンポーネントのpropsへのディスパッチ、2番目のコンポーネントの継承、または新しい機能やアクションの場合は、さらに1つ追加する必要がありますmapDispatchToProps

関連する問題