Posted at

react-routerのv4で同じパスにリダイレクトしようとするとエラーが出る

More than 1 year has passed since last update.


あらすじ

重い腰をあげて自分が扱っているプロジェクトのReact Routerのバージョンをv4に上げてリファクタしている際に出てきたこのエラー。

Warning: You tried to redirect to the same route you're currently on: "リダイレクト先のパス"

意訳すると、『今いるパスと同じところにリダイレクトしてるよ』って怒られてるみたいですね。

リダイレクトは普通に行われているけど、console上でエラーが何度も出ているのはどうもよろしくない🤔

原因として考えられるのは、SPAである以上同じContainerやComponentを何度も呼び出している関係上、こういったエラーが出てきていると推測しています。


なんとかしたい(した)

これの対処方とか色々ググってはみているものの、全然解決策が転がっていないのでひとまず以下のようなかんじでなんとかしました!


hoge.jsx

...

render() {
const path = isLoggedIn ? '/' : '/login';

return (
...

{location.pathname !== path &&
<Redirect to={path}>
}
)
}

...


絶対もっといい方法があるなと思っているのでマサカリお待ちしています😇