2016-08-15 20 views
10

Tôi đang cố gắng sử dụng Thành phần WebView bên trong thành phần Xem, cho ứng dụng gốc phản ứng mà tôi đang làm việc. Khi tôi nhúng WebView bên trong Chế độ xem, tôi không thấy nội dung tôi đang hiển thị trong WebView. Đây có phải là hành vi mong đợi với phản ứng gốc không?Tôi có thể sử dụng WebView bên trong Chế độ xem (gốc tự nhiên) không?

+5

Thông thường WebView sẽ xuất hiện. Thử đặt flex thành 1 cho cả Chế độ xem và WebView hoặc đặt kích thước rõ ràng. – Nico

+0

bạn có thể đặt mã mẫu của mình tại rnplay.org không? – stereodenis

+3

Nó sẽ hoạt động. Đặt tất cả Chế độ xem gốc và Chế độ xem web của bạn thành flex: 1 – abeikverdi

Trả lời

15

Bạn nên chỉ định chiều rộng và chiều cao cho chế độ xem web của mình. Làm điều đó như sau:

render() { 
return (
    <WebView 
    source={{uri: 'https://github.com/facebook/react-native'}} 
    style={{flex: 1}} // OR style={{height: 100, width: 100}} 
    /> 
);} 
+1

mục này phải được chấp nhận làm câu trả lời đúng –

+1

Bố mẹ 'Chế độ xem' phải bằng' flex: 1': https://snack.expo.io/r1II-3jc- –

0

có thể sử dụng một cái gì đó như thế này

render() { 
let {url} = this.props.webDetail; 

return (
    <View style={styles.container}> 
    {this.renderSpinner()} 
    <WebView onLoad={this.onWebLoad.bind(this)} 
     source={{ uri: url }} 
     scalesPageToFit={true} 
     /> 
    </View> 
); 
} 
3

Khi nó lồng vào bên trong một Xem thành phần, bạn cần phải thiết lập cả hai xem và webview flex để 1.

ví dụ . -

<View style={{flex:1}}> 
    <WebView 
     source={{ uri: url }} 
     style={{flex:1}} 
     /> 
</View> 
Các vấn đề liên quan