Closed urushiyama closed 6 years ago
動作確認をしてみたのですが、API側でデフォルトイベントを作成するようにしないと、やはり同じようにリダイレクトループに嵌ってしまうようです…。
どうしてリダイレクトループが起こるのかよく理解していないのですが、 #65 の変更を行うと一応問題は解消するみたいです。
やべ、ローカルでもリダイレクトループ解消できてませんでした。
これさ, createEventFormがwithNavigationBar使ってるからリダレクトループしてるって認識で合ってる?
まさにそれが原因です。
じゃあ createEventFormにリダイレクトする条件に, pathが/create_eventではないことを追加することで, とりあえずは解消できる?
よく考えなくてもprops.location
はパス名ではなくそれを含むオブジェクトで、props.to === props.location
は文字列とオブジェクトの比較になり常にfalseになりますね。そこを修正したらリダイレクトループ解消できました。
今度こそ、リダイレクトループが解消できました! (ただし2つ以上のパスがループになっている場合はリダイレクトループが発生する可能性が残ってます。)
ありがとうございます。今度は正しく動作しました!
60 に対する修正です。
リダイレクトループが起こる原因を根本から絶つために、RedirectOnceというコンポーネントを作りました。
RedirectOnce
Usage
の代わりに、
と記述することで、同一ロケーションに対するリダイレクトループは発生しなくなります。
condition
がfalse
の場合には<div />
を出力します。