2017-08-18 8 views
0

長いタイトルのために申し訳ありません。Linking.getInitialURLは常に実行され、アプリが複製されています

は、ここに私のcomponentDidMount()機能

componentDidMount() { 
    Linking.getInitialURL().then(data => { 
    console.log(data); 
    }); 
} 

私は私のアプリを起動すると、dataは当然nullに設定されているのです。

ユーザー、その後は、ユーザーが自分のアプリケーションに戻ってリダイレクトされる場合は

Linking.open('https://...); 

を経由して開かれたGoogle Chromeの経由でログインし、私はdataが取り込まれていることがわかります。これはすべてうまくいいです。

しかし、私がリダイレクトされると、重複したコンポーネントが表示されます。ここにReact Native Debuggerのスクリーンショットがあります。この重複の、私のアプリは二回componentDidMount()を呼び出し、Linking.getInitialURL()が複数回呼び出されているので、私は<AppContainer root=1..>

enter image description here

<AppContainer root=11..>を持っています。

さらに、開発者用メニューからアプリをリフレッシュすると、nullのときにLinking.getInitialURLの約束から返されたdataがまだ埋め込まれています。

答えて

1

この問題の解決策は、私の.MainActivityアクティビティにandroid:launchMode="singleTask"を追加することでした。

解決策:this Githubスレッド。

関連する問題