0

React-Native、React Redux、および Flux Navigation でMapbox ( https://github.com/mapbox/react-native-mapbox-gl ) を使用しようとしています。

単一のモジュール検索とマップがあるモジュールでアプリケーションを構築しました。次のように構成されています。

/modules
   /search
       /containers
           SearchResults.js
   /map
      /containers
           Map.js

SearchResults.js では、画像とテキストで表示される 10 件の結果を取得します。結果は私の redux ストアに保存されます。Map.js と SearchResults.js に 2 つのボタンがあり、2 つのコンテナー間のナビゲーションを有効にします (Flux ナビゲーション Action.Map() と Action.SearchResults() を介して前後に移動)。

Map.js では、地図の状態を更新して、searchResult ストアから経度と緯度を受け取ります。私が今直面している問題は、SearchResults と Map を前後に切り替えると、パフォーマンスに大きな問題が発生することです。これは、マップが常に再レンダリングされるために発生します。

反応ライフサイクル メソッドを使用して回避策を見つけようとしましたが、役に立ちませんでした。2 つのモジュール間を移動するので、これは役に立たないと思います。

Map.js が常に再レンダリングされないようにする最善の方法は何ですか?

4

1 に答える 1

0

これが、あなたの定義typeでキーワードが作成されたものだと思います。react-native-router-flux のドキュメントSceneによると:

シーンタイプ

新しい画面をナビゲーター スタックに追加する方法を定義します。プッシュ、ジャンプ、置換、リセットのいずれか。親コンテナがタブバー (tabs=true) の場合、ジャンプは自動的に設定されます。

また、react native の公式Navigator ドキュメントを見ると、シーン間をジャンプすると、マウントを解除せずに画面を変更できることがわかります。

デフォルトでは、react-native-router-flux はプッシュを使用してシーンをアンマウントします。

自分で試したことはありませんが、うまくいくと思います。

于 2016-06-02T15:08:11.437 に答える