Используя функцию onmessage, я получил данные из веб-просмотра, но как их хранить, например. значение кэша в редукторе.
здесь iam хранит полученные данные в массиве и передает массив в this.props.cmidata ({'value': cmidataArray}) но я получаю ошибку undefined не является объектом (оценивает this.props)
<WebView
source={Platform.OS === 'ios' ?
{ uri: RNFS.LibraryDirectoryPath + "/offlineplayer/index.html" } :
{ uri: 'file:///android_asset/offlineplayer/index.html' }
}
ref={(webView) => this.webView = webView}
originWhitelist={["*"]}
javaScriptEnabled={true}
domStorageEnabled={true}
startInLoadingState={true}
useWebKit={true}
onLoad={() => this.sendPostMessage()}
onMessage={this.onMessage}
allowFileAccess={true}
/>
onMessage() {
objcache = event.nativeEvent.data
var cache = JSON.parse(objcache)
//code to store the value in reducer
var cmidataArray = []
let cmidatavalues = {
course_code: this.state.id,
onlineCmidataJsonObjectList: cache
}
cmidataArray.push(cmidatavalues)
this.props.cmidata({ 'value': cmidataArray })
}