React コンポーネントは Redux に依存しないほうがいい

先日 Redux を試したとき

末端のコンポーネントからコンテナコンポーネントまでイベント(というかコールバック)を伝播して、 コンテナコンポーネントで dispatch を呼び出してみたけど、 これ末端のコンポーネントで dispatch 呼び出したらダメなんだろうか。

って疑問に思ったけど、よくよく考えると、これやっちゃったら React コンポーネントが Redux に依存してしまうな。React コンポーネントが再利用しづらくなる。

React Bootstrap みたいな立派なコンポーネントライブラリを作るわけじゃなくても、アプリ内でコンポーネントを再利用したい場面がきっとある。そんなとき、dispatch を渡すやり方だとアクションも固定されるから、再利用しづらいだろうな。

コンテナコンポーネントから末端のコンポーネントまでコールバックを渡すのが面倒なのは変わりないけど、そこは、うん、理性捨てて props 渡すとかしか思いつかないね。