私はWebView
でウェブサイトを表示し、ログインするためにユーザー情報を自動入力するコンポーネントを作ろうとしています。私はinjectedJavascipt
小道具を持ってWebView
にいくつかのジャバスクリプトを注入することによって自動充填部分に注意を払った。
しかし、私はWebView
(サインインページ)を非表示にして、読み込み画面を表示し、ユーザーがウェブサイトにログインしたときにのみ表示したいと思っています。どのような方法でもウェブサイトとやり取りできないので、WebView
のflex
小物を0に設定し、ログインが完了したらsetNativeProps()
を使用して1に設定します。
ウェブサイトのログインが完了したら、WebView
を表示することができますか?そうでない場合は、私のWebView
を隠して、そのウェブサイトのログインが完了したときにそれを表示する他の方法はありますか?
tl; dr:基本的には、私のWebView
は、いくつかの読み込み中の画面が表示されている間にバックグラウンドでいくつかの読み込みを行い、それらのことが完了したら私に信号を送ることを望みます。ウェブサイトのログインが完了するまでWebViewを非表示にするにはどうすればよいですか? [反応するネイティブ]
1
A
答えて
2
ハッキーですが、ユーザーが完全にログインしてflexプロパティを変更したときにURLを確認できますか?
navChanged(navState) {
if(navState.url.match(loggedInURL){
//set flex to 1
};
}
<WebView
source={{uri: this.state.url}}
onNavigationStateChange={this.navChanged}
startInLoadingState={true}
renderLoading={
()=> {
return (<ActivityIndicator />)
}
}
/>
1
私は自分で試していませんが、次のようなものはあなたが望むことをするべきだと思います。 WebViewには、onLoad
、onLoadStart
、onLoadEnd
、onError
などの関連する小道具がロードされています。これらのコンポーネントでは、コンポーネントの状態を更新できます。 this.setState
と呼び出すと、コンポーネントのrender()
が再びトリガされ、現在の状態に基づいて、それを指示するビューがレンダリングされます。
class MyComponent extends Component {
constructor(props){
super(props)
this.state={
isLoading:false
}
}
render() {
if (this.state.isLoading) {
return <Spinner visible={true}/>
} else
return <WebView onLoadStart={() => this.setState({isLoading:true})} onLoadEnd={() => this.setState({isLoading:false})}/>
}
}
}
関連する問題
- 1. (反応ネイティブ)反応したネイティブのバッテリーレベルを検出するにはどうすればよいですか?
- 2. OAuth Googleログインを完了するにはどうすればよいですか?
- 3. 反応したネイティブのダイアログボックス内にコンポーネントを表示するにはどうすればいいですか?
- 4. どのように反応するネイティブのピッカーの選択ハンドルを非表示
- 5. d3とwebViewでネイティブに反応する
- 6. ログインしているユーザーからオプトインスクリプトを非表示にするにはどうすればよいですか?
- 7. 特定のページからのみネイティブの反応でナビゲーション実験のナビゲーションヘッダーを非表示にするにはどうすればよいですか?
- 8. フェッチデータとレンダリングタスクが完了する前にロードポップアップを表示するにはどうすればいいですか
- 9. ウェブサイトをiframeに表示するにはどうすればよいですか?
- 10. 反応ネイティブを使用して完全に反応するモバイルアプリを作成するにはどうすればよいですか?
- 11. 非同期イベント(ログイン)にどのように反応するのですか?
- 12. ウェブサイトのサムネイルを表示するにはどうすればよいですか?
- 13. iOS Webviewからウェブサイトにログインするにはどうすればよいですか?
- 14. 反応するネイティブ(JavaScript)でXML文書を作成するにはどうすればよいですか?
- 15. ネイティブに反応するかネイティブで反応を開始する
- 16. どのように反応するネイティブですか?
- 17. WebViewをラジオボタンに表示するにはどうすればいいですか?
- 18. このウェブサイトにログインするにはどうすればよいですか?
- 19. 反応のネイティブAndroidアプリの画面の上半分を表示するようにビューを設定するにはどうすればよいですか?
- 20. オーバーフローを設定する:デフォルトの反応ネイティブIOSで非表示
- 21. タップが終了したらラベルを非表示にするにはどうすればよいですか?
- 22. 反応ネイティブのビューを非表示にする方法
- 23. ボタンを押すと表示される余分なコンポーネントを反応ネイティブで表示するにはどうすればいいですか?
- 24. 反応したネイティブですべてのアプリケーションデータを削除するにはどうすればよいですか?
- 25. マウスカーソルを非表示にするにはどうすればよいですか?
- 26. フォームフィールドを非表示にするにはどうすればよいですか?
- 27. AndroidとWindowsデバイスの反応ネイティブでより早くナビゲートするにはどうすればよいですか?
- 28. ボタンをクリックしたときに反応ネイティブでリダイレクトするにはどうすればよいですか?
- 29. 反応ネイティブIOSでシャドーまたはボトムボーダーを非表示にする方法
- 30. 終了タグを表示するにはどうすればよいですか?
ありがとうございますが、サインインページにまだ – Danopie
が表示されています。申し訳ありませんが、私は間違って質問しました。私は自分の答えを更新しました。ユーザーが正常にログインするとURLが変わるのですか? –