1
resposta

[Dúvida] SQLite no React Native

Olá, estou fazendo o curso React Native: guardando informações localmente e neste o professor utiliza uma biblioteca do expo SQLite, gostaria de saber alguma outra biblioteca para utilizar o SQLite com um projeto gerado pelo react native CLI, ou alguma opção ao SQLite.

1 resposta

Olá, Lucas!

Entendo sua dúvida e é ótimo ver que você está explorando diferentes opções para gerenciar dados localmente em seus projetos React Native.

Uma alternativa ao SQLite que você pode considerar é a biblioteca Realm. Realm é um banco de dados móvel e uma alternativa ao SQLite e aos bancos de dados ORMs. Ele tem uma API fácil de usar, é rápido e tem muitos recursos.

Para instalar o Realm, você pode usar o npm ou o yarn:

npm install realm

ou

yarn add realm

Depois de instalar, você pode importá-lo em seu arquivo como:

import Realm from 'realm';

Para usar o Realm, você define 'schemas' para seus objetos e então usa-os como modelos para criar, ler, atualizar e deletar dados. Aqui está um exemplo:

const CarSchema = {
  name: 'Car',
  properties: {
    make:  'string',
    model: 'string',
    miles: {type: 'int', default: 0},
  }
};

// Get the default Realm with support for our objects
let realm = new Realm({schema: [CarSchema]});

// Create a new car
realm.write(() => {
  let myCar = realm.create('Car', {
    make: 'Honda',
    model: 'Civic',
    miles: 1000,
  });
});

// Query Realm for all cars with a high mileage
let cars = realm.objects('Car').filtered('miles > 1000');

// Will return a Results object with our 1 car
cars.length // => 1

Outra opção é usar a biblioteca AsyncStorage do próprio React Native, que permite que você armazene valores-chave de forma assíncrona e persistente. No entanto, vale lembrar que o AsyncStorage não é recomendado para grandes quantidades de dados, pois a interface é baseada em strings e todos os dados são armazenados em texto.

Espero ter ajudado e bons estudos!