diff --git a/README.md b/README.md index ea1dc0f..9f2ac21 100644 --- a/README.md +++ b/README.md @@ -34,12 +34,14 @@ Build real-time, collaborative mobile apps that work seamlessly offline and auto - [SQLiteSyncActionsContext](#sqlitesyncactionscontext) - [Hooks](#hooks) - [useSqliteDb](#usesqlitedb) - - [useSyncStatus](#usesyncstatus) + - [useSqliteSyncStatus](#useSqliteSyncStatus) - [useSqliteSync](#usesqlitesync) - [useTriggerSqliteSync](#usetriggersqlitesync) - [useOnSqliteSync](#useonsqlitesync) - [useSqliteSyncQuery](#usesqlitesyncquery) - [useOnTableUpdate](#useontableupdate) + - [useSqliteTransaction](#usesqlitetransaction) + - [useSqliteExecute](#usesqliteexecute) - [Types](#types) - [Error Handling](#-error-handling) - [Debug Logging](#-debug-logging) @@ -157,6 +159,7 @@ import { useOnTableUpdate, useTriggerSqliteSync, useOnSqliteSync, + useSqliteTransaction, } from '@sqliteai/sqlite-sync-react-native'; interface Task { @@ -191,14 +194,13 @@ function TaskList() { }); // 4. WRITING DATA: Use transactions to trigger reactive queries - const { db } = useSqliteDb(); + const { executeTransaction, isExecuting } = useSqliteTransaction(); const { triggerSync, isSyncing } = useTriggerSqliteSync(); const addTask = useCallback( async (title: string) => { - if (!db) return; // Use transaction to trigger reactive query update - await db.transaction(async (tx) => { + await executeTransaction(async (tx) => { await tx.execute( 'INSERT INTO tasks (id, title) VALUES (cloudsync_uuid(), ?);', [title] @@ -207,7 +209,7 @@ function TaskList() { // Optional: Push changes to cloud immediately triggerSync(); }, - [db, triggerSync] + [executeTransaction, triggerSync] ); if (isLoading) return Loading local DB...; @@ -225,7 +227,11 @@ function TaskList() { {task.title} ))} -