2017-12-04 11 views
0

は、私は2つの画面を持っていると仮定します。 Buttonをクリックすると、画面Bに移動します。 Back Buttonを押すと、画面Aに再び移動します。画面が表示されたらどのライフサイクルイベントが呼び出されますか?</p> <ul> <li>画面</li> <li>画面B</li> </ul> <p>私が最初に<kbd>画面</kbd>に上陸しています:

画面Aにナビゲートしているときに、アクションクリエイターに電話したいと思っています。

私は、画面が表示されるたびにどのライフサイクルイベントが呼び出されるかを知りたいだけです。

componentWillAppear()のようなイベントはありませんか?

注:react-nativereact-navigationを使用しています。

+0

*ライフサイクルイベントは毎回画面が提示されたとき* **レンダリングと呼ばれます。しかし、あなたは 'componentDidMount'を使用することができます – Rajesh

+0

@Rajesh私はviewBackに戻るときにcomponentDidMountが常に呼び出されるでしょうか? – Vishal

+0

コンポーネントが再度レンダリングされた場合は、はい。表示/非表示にCSSを使用している場合は、わかりません。 – Rajesh

答えて

1

1つの画面から別の画面に移動すると、最初の画面はマウント解除されずにスタックに残っているだけで、バックグラウンドで非表示になります。

あなたが必要とするものはcomponentDidFocusであるかもしれませんが、現在のところ設計中ではありません。react-native open issue #51を参照してください。

この代替方法を試すことができます:react-navigation-addons。これにより、あなたのニーズに合ったイベントfocus & blurを持つことができます。

+0

ありがとうございます。私は反応ナビゲーションアドオンを見ていきます。タイムアウトが終了すると、私はこの回答を受け入れたものとしてマークします。 – Vishal

+0

ようこそ。喜んで助けた=) – Val

1

あなたが反応するネイティブ・ナビゲーションを使用する場合は、外観イベントをリッスンすることができます** https://wix.github.io/react-native-navigation/#/screen-api?id=listen-to-visibility-events-globally

+0

答えをありがとうが、私は反応ネイティブナビゲーションを使用しないでください。私はナビゲーションナビゲーションのために反応ナビゲーションを使用します。 – Vishal

関連する問題

 関連する問題