概要
react*reduxでrouter使いたい時に何が何だかわからなくなったので整理
登場人物
-
react-router
- reactのためのrouter
- githubでもnpmでも同一名
- githubのページ
- npmのページ
-
react-router-redux
- react-routerとreduxを繋いでくれる人(シンプル)
- githubのページ
- npmのページ
-
redux-router
- react-routerとreduxを繋いでくれる人(多機能)
- githubのページ
- npmのページ
-
redux-simple-router
- react-router-reduxの旧npmパッケージ名(kuyさん、ありがとうございます!)
- react-router-reduxって名前ですでにnpmが出ている
- react-router-reduxがminで4kbなので、積極的にこちらを使う理由もないと思われる。
- npmのページ
-
redux-react-router
- redux-routerの旧npmパッケージ名
- こっちも多分 redux-router の名前で育てていくと思われる
- npmのページ
なので実際の登場人物は3人です
- react-router
- react-router-redux
- redux-router
3人について簡単に
実はまだ使ったことないので、私の理解の範囲で簡単に。。。
react-router
reduxは関係ない。reactにてroutingするための機能
urlを変えたりそれをreactが聞けるようにしたり
react-router-redux
reduxはstateで状態管理してreactに教えてくれてるわけだからurlの変更もstateとして管理したいぜ。
って言うのを叶えてくれる人。
シンプル。
星多め。(2016-05-06現在)
redux-router
基本的にreact-router-reduxと同じことをやってくれる人。
多機能。
星少なめ。(2016-05-06現在)
個人的な考え
reactjsさんが作ってて、星も多いreact-router-reduxを使っておけば安心な気はするし、そうしようと思っている。
けど、
やりたきことはあくまで「urlの変更をreduxが聞いててほしい」なので、react−routerに依存してるのは気持ち悪い気もしている。
react-routerのrouteコンポーネントのあたりを削ったシンプルなrouterパッケージがあったらそっちを使いたい気分。
2016−05−09追記
react-router-redux って名前でもnpmパッケージが出ている事実が発覚。
しかもこっちの方がバージョン進んでる。
というかこっちしかバージョンが進んでない。
書き方めっちゃシンプル。なにこれ。
2016−05−23追記、修正
kuyさんに指摘いただき、混乱をさけるため redux-simple-router の文脈を減らしました。
本家のREADMEでも、「前はredux-simple-routerって呼ばれてたやつ」的に言われてます。
Formerly known as redux-simple-router