2017-12-08 8 views
1

私は、ダイアログを開くボタンであるコンポーネントを持っています。どこでReactJSコンポーネントのonClickロジックを配置する必要がありますか?

const myComponent =() => <div><button>click me</button></div> 

ボタンを押すと、ダイアログが開きます。

onClickの機能はどこに配置する必要がありますか(ダイアログを表示するためにストアに対してアクションをディスパッチします)

mapStateToPropsを使用して、ダイアログを開く予定の小道具に関数を作成するか、そのような小さなコンポーネントのためにこの過剰なものを使用しますか?

答えて

4

それはあなたのデザインの多くの側面に依存します:

それは、共通のボタンコンポーネントですか?ボタンを再利用しますか?

次に、onClickイベントとボタンのキャプションをpropsから渡す必要があります。

ダイアログを開く機能のみをディスパッチするボタンですか?ダイアログだけを開くのに使われますか?

次に、コンポーネント内でそれを処理できます。

アクションをストアにディスパッチする場合は、を使用してmapDispatchToPropsを使用して、propsへのアクションにマップします。

私の意見では、他の場所にアクセスできるダイアログがない限り、ここでストアを使用する必要はありません。

+0

ステートレス機能コンポーネントで 'mapDispatchToProps'を使用できますか? – Ben

+2

はい、アクションをストアにディスパッチする場合 –

関連する問題