React Native模式仅在关闭模式后打开子WebBrowser和Share本机视图

时间:2018-04-03 17:22:00

标签: react-native react-navigation expo

我为我的移动客户端使用React-native和Expo。

流量:

  1. 用户点击从根视图打开模态
  2. Modal有Expo的Share和WebView调用按钮。
  3. 当用户点击打开其中任何一个时,没有任何反应。
  4. 当用户手动关闭模态时,会突然调用WebBrowser / Share,并在根视图上打开该模态为子项。
  5. 调用Share和WebBrowser调用者的两个函数都是 模态的控制器。

    模态控制器的部分内容:

    openBrowser = (url) => {
      WebBrowser.openBrowserAsync(url);
    }
    shareModel = (url) => {
      Share.share({
       url: url
      }) .then(console.log(`Shared ${url}`))
      .catch(err => console.log(err))
    }
    
    
    render() {
      return (
      <Modal
          visible={this.props.visible}
          animationType={'slide'}
          onRequestClose={this.props.onRequestClose}
      >
      <View style={styles.modalContainer}>
        <View style={styles.oneButton}>
        <TouchableOpacity style={styles.toolbarButton} onPress={() => this.openBrowser(this.props.model.public_url)}>
          <SimpleLineIcons
                name='globe'
                size={29}
                style={{ marginTop: 1 }}
                color='#7366E3'
            />
          <Text style={{ color: '#7366E3', fontSize: 13, marginTop: 1 }}>View</Text>
        </TouchableOpacity>
        </View>
      </View>
      </Modal>
     )
    }
    

    有什么想法吗?这个确切的代码在过去运作良好,并且发生了一些变化。

1 个答案:

答案 0 :(得分:0)

这可能是由于新的Expo客户端SDK26。其中一个重大变化包括WebBrowser中的方法,请参阅https://blog.expo.io/expo-sdk-v26-0-0-is-now-available-2be6d9805b31