2015-12-26 9 views
9

私はこの問題を少し悩ましています。 classes/:idというルートを定義しました。アプリでそのルートにナビゲートすると、componentDidMount()が呼び出されます。ただし、ページをリロードしたり、URLをコピーして貼り付けたりすると、ページは完全に読み込まれますが、componentDidMount()メソッドはまったく呼び出されません。React-Router - URLにナビゲートするときにcomponentDidMountが呼び出されない

私が読んだのは、ページがリロードされても同じコンポーネントがマウントされているからです。これは、ライフサイクルメソッドが解消されない理由です。

これを処理する方法は何ですか?あなたの助けが大変ありがとうございます。ありがとう!

答えて

0

私はミックスイン(willTransitionToを参照)を避けるようにしています。これらは有害であると考えられています。

同じコンポーネントのルートを変更すると、componentDidMountは起動しませんが、componentWillUpdateとcomponentWillReceivePropsが実行します。

ここから、パラメータの変更を検出し、それに応じてアクションを実行できます。

0

componentWillReceiveProps、componentDidUpdate lifecycleは新しい小道具を受け取り、次に状態を変更してレンダリングメソッドをトリガーするsetStateを受け取ります。

関連する問題