android - 为什么 React Native WebView 会转到 :blank in release build? 左右

标签 android ios paypal webview react-native

我有这样一个组件:

class PayPalWebView extends Component {
  static propTypes = {
    payKey: PropTypes.string,
    payPalLoginUrl: PropTypes.string,
    onNavigationStateChange: PropTypes.func,
  }

  getPayPalLoginURL = () => this.props.payPalLoginUrl + this.props.payKey

  render () {
    return (
      <WebView
        source={{ url: this.getPayPalLoginURL() }}
        scalesPageToFit={true}
        onNavigationStateChange={this.props.onNavigationStateChange}
      />
    )
  }
}

我用它来处理我的 React native 应用程序中 PayPal 付款的登录流程。

模拟器内的开发版本可以正常运行并正确打开 PayPal 登录页面。
当我切换到在模拟器内发布构建配置时,它不再工作,只打开 about:blank。

该问题同时出现在 Android 和 iOS 上。然而,今天早上它突然开始在 iOS 上运行,而我没有做任何更改。

我已确认 getPayPalLoginURL 的输出是正确的,并将 WebViewsource 属性设置为固定值。还尝试了不同的值,例如 { url: "https://example.com"} 以确保它与 PayPal URL 无关,但它再次仅在发布版本上失败。

我还发现了其他 SO 问题,人们建议在 WebView 上设置固定宽度,这也没有用。

非常感谢任何修复或调试的建议。

最佳答案

替换

source={{ url: this.getPayPalLoginURL() }}

source={{ uri: this.getPayPalLoginURL() }}

检查 this

关于android - 为什么 React Native WebView 会转到 :blank in release build? 左右,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44539860/

相关文章:

java - 如何将 Android 资源文件中的颜色添加到 Paint 对象?

android - 删除容器时不会删除动态添加的 fragment

java - 使用带有 Intent 服务的 ion 进行 http 调用会在数据网络上出现错误

ios - 'NSError' 不可转换为 'NSError?'

ios - 识别 UITextField 或 UITextView 中删除的字符

curl - php webpayments pro install.php 不工作

paypal - 使用 Braintree Dropin UI 时使用 Paypal 余额支付

java - 如何从 FileOutputStream 对象中检索 String 值?

ruby-on-rails - 如何将 braintree 与 rails 和 activemerchant 一起使用

ios - 如何打印 1.5Kv 而不是 1500 V?