Como trabalhar com o SQLite no react native usando expo?
expo-sqlitedá ao seu aplicativo acesso a um banco de dados que pode ser consultado por meio de uma API semelhante ao WebSQL . O banco de dados persiste durante as reinicializações do seu aplicativo.
Compatibilidade de plataforma
- Dispositivo Android
- Emulador Android
- Dispositivo iOS
- Simulador iOS
Para utiliza-lo em seu projecto expo, em primeiro lugar deverá instalar a dependência em seu projecto usando o comando:
npx expo install expo-sqlite
Após isso faça a importação da bibliotecaimport * as SQLite from 'expo-sqlite';
Importando um banco de dados existente
Para abrir um novo banco de dados SQLite usando um .dbarquivo existente que você já possui, siga as etapas abaixo:
- Instalação expo-file-systeme expo-assetmódulos:
npx expo install expo-file-system expo-asset - Crie um arquivo metro.config.js na raiz do seu projeto com o seguinte conteúdo para incluir extensões de ativos extras :
const { getDefaultConfig } = require('expo/metro-config');
const defaultConfig = getDefaultConfig(__dirname);
defaultConfig.resolver.assetExts.push('db');
module.exports = defaultConfig;
- Use a seguinte função (ou similar) para abrir seu banco de dados:
async function openDatabase(pathToDatabaseFile: string): Promise<SQLite.WebSQLDatabase> {
if (!(await FileSystem.getInfoAsync(FileSystem.documentDirectory + 'SQLite')).exists) {
await FileSystem.makeDirectoryAsync(FileSystem.documentDirectory + 'SQLite');
}
await FileSystem.downloadAsync(
Asset.fromModule(require(pathToDatabaseFile)).uri,
FileSystem.documentDirectory + 'SQLite/myDatabaseName.db'
);
return SQLite.openDatabase('myDatabaseName.db');
}
Logo apos isso não se esqueça de instânciar o seu banco de dadosconst db = SQLite.openDatabase('dbName', version);
Gostou?