イベントハンドラを親コンポーネントから渡すようにする
Closed this issue · 1 comments
t-morisawa commented
スコープ
- container/Start.js
- container/ToggleResult.js
やること
上記をコンテナコンポーネントとするのをやめて、イベントハンドラはAppContainerからバケツリレーで渡すようにする
現状の実装について
サマリー
- prensentational componentsを定義(StartButton, ToggleButton)
- container componentsを宣言(Start, ToggleResult)
- connectを使って、presentationalにmapDispatchToPropsを紐付けたものをcontainer componentsとして定義する
mapDispatchToPropsについて
- mapDispatchToProps
- actionとして定義したメソッドを持つオブジェクト
- これをpresentationalのイベントハンドラに渡してactionを呼び出すとdispatchされる
補足 Reducer
- Redux独自の概念
- dispatcherに制限を加えたもの
- f(action, state) => newstate な関数として定義する
- stateがシングルトンなオブジェクトとなる
改修後の実装
- AppContainer
- actionsからメソッドをインポート
- mapDispatchToPropsを定義
- 定義したactionをOpeningやResultViewに渡していく
- presentationalは改修不要かも?
- container componentsはまるっと削除
t-morisawa commented
redux, react-reduxとドキュメントを購読した方が良さそう