0

私はリアクションネイティブで新しく、GPSコンポーネントに依存するマップコンポーネントを作成しようとしています。 (私は実際には、 'コンポーネント'が正しい単語であるかどうかも確信していません)レンダリングなしのコンポーネントを使用したリアクションネイティブ

私はUIを使って地図をレンダリングしたいのですが、私は場所情報を得るためにGPSも必要です。

ここで、すべてのGPSロジックを含むGPSクラスを作成し、ページページ上の場所を更新する関数を1つだけ呼び出すにはどうすればよいですか?具体的には、マップコンポーネントのレンダリングメソッド内で<GPSComponent />を呼び出すことなく、GPSコードを新しいファイルに分割するにはどうすればよいですか?

のコード例で具体的には、私は別のファイルにあなたのGPSクラスを入れ、ここCodePenにhttps://codepen.io/yeni/pen/WOrjJx

答えて

2

をそれを置きます。クラスはではなく、コンポーネントを拡張する必要があります。

次に、あなたのUIコンポーネント(例えばimport gps from './gps')であなたのGPSクラスをインポートし、それを使用:)回答を

+0

感謝を!しかし、どうすればclearWatchフラグを管理する必要がありますか?最終的には、gpsはcomponentWillUnmountにもう依存できません – DaveTheAl

+0

hm ..私が試してみたい最も簡単な方法: clearWatchをクリーンアップ()メソッドまたはsthに配置します。 gpsクラスを使用するUIコンポーネントのcomponentWillUnmountにそのメソッドを呼び出します。 (短所:gpsクラスを使用するすべてのUIコンポーネントでクリーンアップが呼び出されることを手動で確認する必要があります) 基本的に: - componentDidMountの場合:コンストラクタとして考えるか)あなたの新しいクラスの - あなたのcomponentWillUnmountについて:あなたの新しいクラスのデストラクタ(またはデストラクタがes6に存在しないので、クリーンアップメソッドのようなsth)と考えてください – Fabian

+0

ありがとう!だから私はそれを行うための "自然な方法"がないと理解し、あなたが提案した方法でそれを実装しようとします! :) – DaveTheAl

関連する問題