Ниже приведен снимок моего класса WebView:
Код: Выделить всё
import Colors from 'constants/Colors'
import React, { useRef } from 'react'
import { StyleSheet, View } from 'react-native'
import { WebView } from 'react-native-webview'
import ....
const buildIdDefault = '00000000.00_v0.00.0'
const WebView2 = () => {
const webviewRef = useRef(null)
const buildIdRef = useRef(null)
const { insert } = useReceiptDb()
const injectGetBuildId = `
console.defaultLog = console.log.bind(console);
console.logs = [];
console.log = function(log){
// default & console.log()
console.defaultLog.apply(console, arguments);
// new & array data
console.logs.push(Array.from(arguments));
// window.ReactNativeWebView.postMessage(log);
window.ReactNativeWebView.postMessage(Array.from(arguments));
}
`
/// further operations....
return (
{
const data = event.nativeEvent.data
Log(`onMessage`, data)
if (data?.toLowerCase().includes('package version')) {
return
}
if (data?.toLowerCase()?.includes('build id')) {
const splits = data?.split(',')
buildIdRef.current = splits?.[1]
Log('build id', splits)
return
}
handleOnMessage(data)
}}
javaScriptEnabled={true}
onLoad={(syntheticEvent) => {
const { nativeEvent } = syntheticEvent
const url = nativeEvent.url
handleInjectJS(url)
}}
injectedJavaScript={injectGetBuildId}
/>
)
}
Среда:
Управляемая выставка, установлена последняя версия SDK 51.
Буду очень признателен за любую помощь в выявлении проблемы.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ine-on-ios
Мобильная версия