2016-03-18 15 views
5

ビューを条件付きでレンダリングするにはどうすればよいですか?例:私のアプリがインターネットに接続されていない場合、エラービューをレンダリングし、接続されている場合はWebViewをレンダリングしますか?反応することは可能でしょうか?私は純粋なhtmlではないレンダリングしたいネイティブビューレンダリングに反応する

答えて

4

ロジック:

render() { 
    if (!this.state.isConnected) { // error 
    return (
     <View></View> 
    ); 
    } 
    else { 
    return (// webview 
     <WebView /> 
    ); 
    } 
} 
3

あなたのレンダリング方法では、以下の例のような条件を定義することができます。たとえば、componentDidMountメソッドで接続を確認してから、あなたの小道具を設定することができます。

render(){ 
      if(this.state.isConnected == 'Online') 
      return this.webView(); 
      else 
      return this.renderAnotherView(); 
     } 
+0

この方法は、任意のveiwを示しませんでした。私はオンラインとオフラインのための小道具を持っています、私はちょうどthis.state.isConnected == 'オンライン'にしたい - オフラインの場合はwebviewを表示 - 別のveiwを表示 – TeodorKolev

+0

this.props.hasConnectionは単なる例でした。接続を確認して、WebViewや定義した他のビューを返すことができます – sekogs

0

このコンポーネントには、WebView固有のものが2つあります。

でrenderError機能にエラーがあるかどう表示するようにビューを返します

機能。ローディングインジケータを返す機能

機能renderLoading

。ビューを返すことができるでrenderError機能付き

WebView Component Docs.

は、インターネットに接続されていないアプリなどのエラーがあります示しました。あなたの例を使用して、条件付きのビューをレンダリングする

関連する問題