リンクを使用する場合でも、this.props.history.push()
を使用する場合でも、アドレスバーのURLは正しく更新され、this.props.location
はDOMツリーより上位のコンポーネント(この場合はApp
コンポーネント)になります。リアクタの場所が一部のコンポーネントでのみ更新されます
しかし、なんらかの理由で、ツリーのさらに下にある自分のコンポーネントにthis.props.location
が更新されていないため、ルートが失敗する可能性があります。
何が間違っているのでしょうか?
注:このプロジェクトではreduxを使用していますが、少なくとも今のところはreduxを使用してthis.props.history
を変更していません。私はこれが何かに影響するとは思っていませんが、それが私に教えてください
編集:これは役に立つ場合は、DOMツリーの関連部分(電子メールを慎重に傷つけて)を編集します。ご覧のとおり、Authenticated
コンポーネントは、this.props.location
(/plans
)、App
は正しくありません(/posts
)です。両方ともwithRouterで囲まれています。ツリーの下のコンポーネントは、Authenticated
も間違った場所を持っています。
障害のあるコンポーネントについての質問:彼らはReduxのに接続されているか、 'this.props.location'は親から受け継がれていますか? – Andrew
@Andrewコンポーネントは 'withRouter'でラップされています – RyanQuey