Как исправить 'WKWebViewManager.evaluateJavaScript не является функцией - PullRequest
0 голосов
/ 11 апреля 2019

Я работаю над приложением React Native, из Expo .Я выбросил проект в ExpoKit и добавил реагировать-родной-wkwebview-reborn .Я сталкиваюсь с некоторыми проблемами с этой библиотекой, как всегда появляется эта ошибка:

enter image description here

Вот мой код: ContentWebView.ios.js

render() {
return (
    <View style={styles.container}>
      <WKWebView
          ref={WEBVIEW_REF}
          sendCookies={true}
          style={styles.webview}
          source={{uri: this.props.url}}
          allowsLinkPreview={false}
          onMessage={(e) => this._handleMessage(e)}
          onNavigationStateChange={(e) => this._onNavigationStateChange(e)}
      />

и вот где происходит сбой моего приложения:

_onNavigationStateChange(e) {
    this.refs[WEBVIEW_REF].evaluateJavaScript('window.postMessage({cookies: document.cookie}); clearInterval(window.myCartInterval); window.myCartInterval = setInterval(function(){window.postMessage({cookies: document.cookie});},5000);');
  }

Если у вас есть идеи, это было бы так полезно!Спасибо

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Функция называется injectJavaScript в React Native

0 голосов
/ 11 апреля 2019

Вы можете попробовать изменить код ??

Попробуйте это так.

   <WKWebView
          ref={WEBVIEW_REF => {this.webview = WEBVIEW_REF;}}
          sendCookies={true}
          style={styles.webview}
          source={{uri: this.props.url}}
          allowsLinkPreview={false}
          onMessage={(e) => this._handleMessage(e)}
          onNavigationStateChange={(e) => this._onNavigationStateChange(e)}
      />
...
_onNavigationStateChange(e) {
    this.webview.evaluateJavaScript('window.postMessage(e)');
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...