Alternativa A - write
Fundamentação Teórica
No ecossistema React Native, o banco de dados Realm possui uma arquitetura específica para garantir a integridade dos dados. Todas as operações de modificação (criação, atualização ou exclusão de objetos) devem ser executadas dentro de um Bloco de Transação.
Para simplificar o uso, a classe Realm expõe o método write(), que gerencia automaticamente o início e o fim dessa transação.
Como funciona o método write()?
O fluxo padrão de manipulação de dados segue estes passos:
- Chama-se o método
write() na instância do banco de dados. - Passa-se uma função callback como argumento.
- Dentro dessa função, realizam-se as operações de persistência (ex:
realm.create()). - O sistema salva as alterações automaticamente ao final da execução.
Exemplo de código:
\text{realm.write(() \Rightarrow { realm.create('Pessoa', { nome: 'Ana' }) })}
Por que não a alternativa B (commitTransaction)?
Embora o conceito de transação exista em nível baixo, o método commitTransaction geralmente é usado apenas se você iniciar manualmente uma transação com beginTransaction(). No desenvolvimento moderno com React Native e Realm, a prática recomendada e a mais comum é utilizar diretamente o método write, pois ele abstrai a complexidade de gerenciar o estado da transação manualmente.
Portanto, para realizar consultas e modificações (especialmente a criação mencionada no texto), o método correto é o write.