как вызвать реквизит внутри onmessage в webview - PullRequest
0 голосов
/ 15 апреля 2020

Используя функцию onmessage, я получил данные из веб-просмотра и хочу сохранить эти данные, например. значение кэша в reducer.so мне нужно вызывать реквизиты внутри onmessage

здесь я храню полученные данные в массиве и передаю массив this.props.cmidata ({'value': cmidataArray}), но я получаю ошибку, неопределенную не является объектом (оценивая 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 })

}
...