Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@taladb/react-native) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@taladb/react-native
React Native module for TalaDB — embedded local-first storage via JSI TurboModule and a Rust core.
Note: Most users should install
taladbinstead, which auto-selects this package when running in React Native.
What it provides
- TalaDB's Rust core compiled to a static library for iOS and Android
- JSI HostObject bridge — calls go directly from JS to C++ to Rust with no JSON serialization on the hot path
- No Bridge/async overhead for local reads
- Data stored in the app's private documents directory (sandboxed, backed up by OS)
Requirements
- React Native 0.73+
- iOS 15+ / Android API 24+
Installation
pnpm add taladb @taladb/react-nativeiOS
cd ios && pod installAndroid
No extra setup required — the .so library is bundled automatically via Gradle.
Usage
Use through the unified taladb package:
import { openDB } from 'taladb';
const db = await openDB('myapp.db');
const tasks = db.collection('tasks');
await tasks.createIndex('status');
await tasks.insert({ title: 'Buy groceries', status: 'pending', priority: 1 });
const pending = await tasks.find({ status: 'pending' });
await tasks.updateOne({ title: 'Buy groceries' }, { $set: { status: 'done' } });With React hooks
import { useEffect, useState } from 'react';
import { openDB } from 'taladb';
import type { TalaDB } from 'taladb';
export function useDatabase() {
const [db, setDb] = useState<TalaDB | null>(null);
useEffect(() => {
let instance: TalaDB;
openDB('myapp.db').then((opened) => {
instance = opened;
setDb(opened);
});
return () => { instance?.close(); };
}, []);
return db;
}Architecture
JavaScript (React Native)
│ JSI (synchronous, no bridge)
▼
C++ HostObject (TalaDBHostObject.cpp)
│ C FFI
▼
Rust static library (taladb-core)
│
▼
redb B-tree (app documents directory)Building from source
# iOS (requires Xcode + Rust iOS targets)
pnpm --filter @taladb/react-native build:ios
# Android (requires NDK + Rust Android targets)
pnpm --filter @taladb/react-native build:androidFull Documentation
https://thinkgrid-labs.github.io/taladb/guide/react-native
License
MIT © ThinkGrid Labs