Local First avec React Native et Expo - 5. Création avec write et create

Mise en ligne : samedi 12 octobre 2024

image de Local First avec React Native et Expo - 5. Création avec write et create}

Create (ajouter des élements dans la base de données)

1. La méthode write

Pour ajouter un élément dans la base de données, nous devrons utiliser la méthode write de notre database, pour wrapper l'appel à la méthode create.

await database.write(async () => { // ... le code qui modifie la base de données : create, update et delete }

2. la méthode create

Notre fonction d'ajout (create) sera donc placer à l'intérieur du writer.

Pour la création, nous avons besoin, de manière asynchrone:

  • d'accéder au modèle (la collection) sur laquelle nous voulons réaliser l'ajout (("posts")).
  • définir la classe sur laquelle on veut réaliser l'ajout (<Post>).
  • d'utiliser la méthode create.

Voici une exemple, avec l'ajout d'un post sur un modèle Post :

await database.write(async () => { const newPost = await database.get<Post>('posts').create((post) => { post.title = title; post.body = body; post.subtitle = subtitle; }); console.log('new post', newPost._raw); });

le const newPost nous permet d'y accéder, afin d'afficher un console.log, mais bien évidemment, nous pourrions nous en passer, si nous n'avions pas besoin de récupérer le contenu du nouveau élément.

La méthode _raw permet d'accéder aux propriété de notre Post.