私はこのようなコンポーネントがあります:私は私の反応ネイティブアプリ内部のPayPal支払いのログインフローを処理するためにそれを使用React Native WebViewはリリースビルドのabout:blankに移動するのはなぜですか?
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}
/>
)
}
}
を。
エミュレータ内の開発版が動作し、正しくPayPalログインページが開きます。
エミュレータ内のビルド構成を解放するために切り替えると、それ以上は機能しませんが、about:blankだけが開きます。
問題はAndroidとiOSの両方で発生しました。しかし、私は何も変えずに突然iOSで今朝働いた。
getPayPalLoginURL
の出力が正しいことを確認して、source
属性をWebView
に固定値に設定しました。 { url: "https://example.com"}
などの別の値を試して、PayPal URLに関連していないことを確認してください。ただし、リリースビルドでのみ失敗します。
私はまた、人々がWebView
に固定幅を設定するように提案した他のSOの質問も見つけましたが、これも機能しませんでした。
修正するか、デバッグするよう提案されています。
うわーと
source={{ url: this.getPayPalLoginURL() }}
を交換してください!これはそれだった。私はそれを信じることができません。 devの設定でエミュレータで正常に動作したので、ダブルチェックすることさえ考えられませんでした。ありがとう! (編集:私は明日、期限が切れるとすぐにそれに報いる) –