React native, как импортировать библиотеку react-native-sqlite-storage

Я следую приведенной ниже инструкции по использованию sqlLite с подготовленным файлом БД.

https://github.com/andpor/react-native-sqlite-storage#setting-up-your-project-to-import-a-pre-populated-sqlite-database-from-application-for-ios

Я мог без проблем настроить Xcode, но не могу правильно импортировать библиотеку в файл JS.

import SQLite from 'react-native-sqlite-storage';
console.info(SQLite) // {}

SQLLite — это пустой объект. Итак, нет метода openDatabase.

Версия библиотеки,

"react-native-sqlite-storage": "^6.0.1",
"react": "18.2.0",
"react-native": "0.71.7",

Что я делаю неправильно?

Вы запрашивали разрешение??

hong developer 30.04.2023 12:47

какое разрешение?

Expert wanna be 30.04.2023 17:25
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
2
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В новой версии документов он не обновлен, но вы можете использовать его, как указано ниже.

import { openDatabase } from 'react-native-sqlite-storage';

const createTable = ({ dbName, tableName, query }) => {
  const db = openDatabase({ name: dbName });

  db.transaction((txn) => {
    txn.executeSql(
      `SELECT name FROM sqlite_master WHERE type='table' AND name='${tableName}'`,
      [],
      (tx, result) => {
        if (result?.rows?.length === 0) {
          txn.executeSql(`DROP TABLE IF EXISTS ${tableName}`, []);
          txn.executeSql(
            query,
            []
          );
          console.info(`DataBase ${dbName} with table name ${tableName} is created successfully`);
        } else {
          console.info(`DataBase ${dbName} with table name ${tableName} is already exists`);
        }
      },
      ({ message }) => console.info('Error caught while creating table', message)
    );
  });
};

Затем используйте функцию ниже, чтобы вставить данные

const insertDataInTable = ({ dbName, tableName, query, values }) => {
  const db = openDatabase({ name: dbName });

  db.transaction((txn) => {
    txn.executeSql(
      query,
      values,
      (tx, result) => {
        console.info('result: ', result);
        for (let i = 0; i < result?.rows?.length; ++i) {
          console.info(`Data inserted into table '${tableName}' - `, result?.rows?.item(i));
        }
      },
      ({ message }) => console.info('Error caught while inserting data in table', message)
    );
  });
};

Другие вопросы по теме