首页 > 解决方案 > React Native Grid 与 Webview 崩溃

问题描述

我正在使用具有固定高度 150 的视图和具有其余高度的行在视图中我正在显示文本输入,在行中我正在显示 Web 视图应用程序崩溃的后退按钮

如果我删除 webview 并执行相同操作,则应用程序不会崩溃

<Grid>
  <View style={styles.screenView}>
    <ImageBackground
      source={size(course.image_url) > 0 ? { uri: course.image_url } : logo}
      resizeMode="cover"
      style={styles.imageBackground}
    >
      ......
    </ImageBackground>
  </View>
  <View style={styles.screenView}>
    <View style={styles.container}>
      <TextInput
        style={styles.reviewInput}
        onChangeText={addReview.bind(props)}
        placeholder="Your reviews about the course"
        value={review}
        multiline={true}
      />
    </View>
    <LoadingButton
      isLoading={isLoading}
      isFormDirty={size(review) > 0 ? false : true}
      loadingText="Saving"
      text="Save Review"
      block={true}
      color={Color.primaryText}
      loaderColor="#FFFFFF"
      textColor={styles.lightText}
      style={styles.reviewButton}
      onPress={saveReview.bind(props)}
    />
  </View>
  <Row>
    <View style={styles.scroller}>
      <WebView originWhitelist={['*']} source={{ html: courseDescription }} />
    </View>
  </Row>
</Grid>

网页视图的样式:

scroller: {
    flex: 1,
    overflow: 'hidden',
  },

在此处输入图像描述

标签: react-nativewebviewreact-native-webview

解决方案


您的代码中只有一个Row区域。这意味着整个事情。您应该单独标记该区域。

<Grid>
    <Row size={9}>
     <View> 
       ...
    </Row>
    <Row size={1}>
     <View style={styles.scroller}>
      <WebView originWhitelist={['*']} source={{ html: courseDescription }} />
    </View>
    </Row>
</Grid>

推荐阅读