0

私は反応するネイティブアプリを開発しています。アプリ内でのナビゲーションにはreact-native-router-fluxライブラリを使用しています。react-native-router-flux:いいえリバースライフサイクルメソッドがバックナビゲーションで呼び出されています

ライブラリは正常に動作していますが、逆ナビゲートしても反応ライフサイクルメソッドは呼び出されません。

たとえば、私は2ページ目のボタンを押した後、1ページ目に移動し、2ページ目のcomponentWillUnmount()が呼び出されますが、ページ1のライフサイクルメソッドは呼び出されませんとなります。

新しい状態に従ってページ1を更新したいと思います。

ご協力いただければ幸いです。

+0

コードを投稿すれば、目的を達成する方法はたくさんあります。 – octohedron

答えて

0

戻ってナビゲートすると、デフォルトでは引数なしでActions.pop()が呼び出されます。 Page 1をリフレッシュするには、戻るボタンの機能を無効にしてActions.pop({refresh:{<propsToSetToPage1>}})に電話する必要があります。これはPage 1でcomponentWillReceiveProps(nextProps)をトリガーする必要があります。nextPropsはpop()に入れた新しい小道具です。

Actions.pop() will pop the current screen. It accepts following optional params: 
    {popNum: [number]} allows to pop multiple screens at once 
    {refresh: {...propsToSetOnPreviousScene}} allows to refresh the props of the scene that it pops back to 

PS:

次は反応し、ネイティブ・ルータ・フラックスのドキュメントからです。 Android用に開発している場合は、ユーザーがハードウェアの[戻る]ボタンを押したときにこれを行うこともできます。 React Nativeの公式ドキュメントでBackAndroidを確認してください。

関連する問題