Можно ли использовать плагин SQLite с Ionic React на платформе браузера?

#reactjs #sqlite #ionic-framework #plugins #cordova-plugins

#reactjs #sqlite #ionic-framework #Плагины #cordova-плагины

Вопрос:

Можно ли использовать SQLite (документацию SQLite — Ionic) в моем веб-приложении Ionic React, когда оно запущено в браузере? SQLite — это плагин Cordova, но его можно использовать и в приложении React: приложения React используют Capacitor для создания собственных мобильных приложений. Однако можно использовать Ionic Native (и, следовательно, плагины Cordova) (React — Ionic Native Community — Ionic Documentation). В официальной документации плагина говорится, что платформа браузера теперь поддерживается (GitHub — storesafe / cordova-sqlite-storage: …), Но это конкретно не относится к Ionic или React.

Я не понимаю, как заставить плагин SQLite работать с React в браузере?

Этот код не выдает никаких ошибок, и из того, что я прочитал, он будет работать на телефоне Android или iOS:

 import { IonAlert, IonButton, IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
import React, { useState } from 'react';
import ExploreContainer from '../components/ExploreContainer';
import './Home.css';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite'


const Home: React.FC = () => {
  const [showAlert, setShowAlert] = useState(false);
  const initDb = (): void => {
    SQLite.create({
      name: 'data.db',
      location: 'default'
    })
      .then((db: SQLiteObject) => {

        db.executeSql('create table danceMoves(name VARCHAR(32))', [])
          .then(() => console.log('Executed SQL'))
          .catch(e => console.log(e));

      })
      .catch(e => console.log(e));
  };

  return (
    <IonPage>
      <IonHeader>
        <IonToolbar>
          <IonTitle>Blank</IonTitle>
        </IonToolbar>
      </IonHeader>
      <IonContent>
        <IonButton onClick={initDb}>Init DB</IonButton>
      </IonContent>
    </IonPage>
  );
};

export default Home;
 

В браузере (ionic serve) Я получаю это сообщение об ошибке, за которым следуют десятки желтых ошибок:

Ошибка типа: не удается получить доступ к свойству «then», ionic_native_sqlite__WEBPACK_IMPORTED_MODULE_5_.SQLite.create(…) не определено в initDb C:/Users/UserAccount/Documents/Ionic-Projekte/Test-1-SQLite-Blank/src/pages/Home.tsx:12

    9 | const Home: React.FC = () => {
  10 |   const [showAlert, setShowAlert] = useState(false);
  11 |   const initDb = (): void => {
> 12 |     SQLite.create({
  13 |       name: 'data.db',
  14 |       location: 'default'
  15 |     })