Как вставить стороннюю библиотеку в приложение ReactJS

#javascript #reactjs #sdk #kaios

#javascript #reactjs #sdk #kaios

Вопрос:

Это отлично работает в чистом JS, но теперь я пытаюсь импортировать библиотеку для KaiOS SDK avert в мое приложение ReactJS, и я не могу, компиляция всегда завершается с этим сообщением :

   Line 230:9:  'getKaiAd' is not defined  no-undef
  

как это сделать !? (файл библиотеки js)

Вот мой упрощенный код, мы видим, что вызов функции в строке 12 завершается ошибкой..

 import React, { Component } from 'react'

import './App.css'
import Result from './Result'
import BoutonListe from './BoutonListe'
import Tableau from './Tableau'

class App extends Component {


    addAdvert(element){
        getKaiAd({
            publisher: 'MON ID',
            app: 'ExCurrency',
            test:1, //1 for test, 0 for prod
            onerror: err => console.error('Custom catch:', err),
            onready: ad => {
                // Ad is ready to be displayed
                // custom event
                let button = document.getElementById(element)
                button.addEventListener('focus', function btnListener() {
                    button.removeEventListener('focus', btnListener)
                    // calling 'display' will display the ad
                    ad.call('display');
                })
            }
        });
    }


    componentDidMount(){
        this.addAdvert('ListeG');
    }

    render() {
      const {montant,
             montantRes,
             deviseListeG,
             deviseListeD,
             actualRate,
             dateUpdate,
             styleTab,
             tableauZero,
             nomDevises }= this.state

      return (
        <div>
            <Tableau styli={styleTab}
                     tableauO={tableauZero}
                     noms={nomDevises}
                     onKeyDown={this.handleKeydown}/>
        </div>
      )
  }
}
export default App;
  

Я только что добавил :
import {getKaiAd} from './Kaiads.v4.min.js'

и я получил :

 Failed to compile.

./src/Kaiads.v4.min.js
  Line 1:695:   Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:792:   Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:901:   Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:1327:  Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:1385:  'getKaiAd' is not defined                                              no-undef
  Line 1:1395:  'getKaiAd' is not defined                                              no-undef
  Line 1:2229:  Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:2312:  Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:2369:  'getKaiAd' is not defined                                              no-undef
  Line 1:2420:  Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:2430:  'getKaiAd' is not defined                                              no-undef
  Line 1:2466:  'getKaiAd' is not defined                                              no-undef

Search for the keywords to learn more about each error.
  

Комментарии:

1. только что обновил свой пост после ответа @user3875913

2. вы пробовали импортировать * как getKaiAd из «path / to / file»?

Ответ №1:

Вам нужно импортировать ее вверху, например

 import * as getKaiAd from "path/to/file"
  

или

 import {getKaiAd} from "path/to/file"
  

Ответ №2:

Решение заключается:

Сначала добавьте это внутрь index.html

 <script type="text/javascript" src="libs/kaiads.v4.min.js" defer></script>
  

Затем вызовите функцию следующим образом: window.getKaiAd