Я следую приведенной ниже инструкции по использованию sqlLite с подготовленным файлом БД.
Я мог без проблем настроить 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",
Что я делаю неправильно?
какое разрешение?





В новой версии документов он не обновлен, но вы можете использовать его, как указано ниже.
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)
);
});
};
Вы запрашивали разрешение??