2016-03-18 22 views
5

làm cách nào để hiển thị chế độ xem có điều kiện? Ví dụ: nếu ứng dụng của tôi chưa kết nối với internet - hiển thị lỗi xem, nếu kết nối - hiển thị WebView? Điều đó có thể xảy ra với phản ứng gốc không? Tôi muốn hiển thị html không tinh khiếtPhản ánh chế độ xem gốc phản ánh

Trả lời

4

logic để render xem có điều kiện, sử dụng ví dụ của bạn:

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

Trong phương thức hiển thị của mình, bạn có thể xác định các điều kiện như ví dụ bên dưới. Ví dụ, bạn có thể kiểm tra kết nối của bạn tại phương thức componentDidMount và sau đó thiết lập các đạo cụ của bạn.

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

Phương pháp này không cho thấy bất kỳ veiw. Tôi có đạo cụ cho trực tuyến và ngoại tuyến, tôi chỉ muốn this.state.isConnected == 'Trực tuyến' - hiển thị chế độ xem web, nếu ngoại tuyến - hiển thị một veiw khác – TeodorKolev

+0

this.props.hasConnection chỉ là một ví dụ. Bạn có thể kiểm tra kết nối của mình và trả về webView hoặc một số chế độ xem khác mà bạn đã xác định – sekogs

0

Nếu nó cụ thể cho WebView, thành phần này chứa hai hàm hiển thị.

renderError chức năng

Chức năng này sẽ trả về một view để hiển thị nếu có một lỗi.

renderLoading chức năng

Chức năng này sẽ trả về một chỉ số tải.

WebView Component Docs.

Với renderError chức năng bạn có thể trở lại một cái nhìn chỉ có một lỗi bao gồm các ứng dụng không được kết nối với internet.