Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/

CRUD - React Native SDK

Nesta página

  • Ciclo de vida da transação

Dentro de um RealmProvider, você pode acessar um Realm com o gancho useRealm() . Em seguida, você pode criar objetos de Realm usando um Realm.write() bloqueio de transação.

Todas as operações em uma transação de gravação são atômicas. Se uma operação na transação de gravação falhar, a transação inteira falhará, o Realm lançará um erro e nenhuma alteração do bloco de transações será aplicada ao Realm.

Toda operação de gravação deve ocorrer em uma transação de escrita.

const CreatePersonInput = () => {
const [name, setName] = useState('');
const realm = useRealm();
const handleAddPerson = () => {
realm.write(() => {
realm.create('Person', {_id: PERSON_ID, name: name, age: 25});
});
};
return (
<>
<TextInput value={name} onChangeText={setName} />
<Button
onPress={() => handleAddPerson()}
title='Add Person'
/>
</>
);
};

Um determinado domínio processa apenas uma transação de escrita por vez. Quando você faz uma transação por escrito, o domínio adiciona a transação a uma fila. O domínio avalia cada transação na ordem em que chegou.

Depois de processar uma transação, o Realm ou a comete ou a cancela:

  • Após um compromisso, o domínio aplica todas as operações na transação. Uma vez aplicado, o domínio atualiza automaticamente as consultas ativas. Ele notifica os ouvintes sobre objetos criados, modificados e excluídos.

    • Ao usar a Sincronização, o SDK também enfileira as alterações a serem enviadas ao Atlas App Services. O SDK envia essas alterações quando uma rede está disponível.

    • Após um cometer, objetos e coleções retornados por useQuery ou useObject são renderizados para incluir alterações relevantes.

  • O domínio não aplica nenhuma operação em uma transação cancelada. O domínio cancela uma transação se uma operação falhar ou for inválida.

Voltar

Dados geoespaciais