watermelondb

Model WatermelonDB data and observe live changes for React UI updates.

Updated Oct 21, 2025
One-click install
npx skills add https://github.com/jchaselubitz/drill-app --skill watermelondb
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: watermelondb
Source: https://github.com/jchaselubitz/drill-app/tree/main/.claude/skills/watermelondb
Command: npx skills add https://github.com/jchaselubitz/drill-app --skill watermelondb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

WatermelonDB-driven apps often struggle to keep UI in sync with live database changes. This skill provides guidance on modeling, observing, and integrating WatermelonDB with React to ensure components update reliably when data changes.

Core Features & Use Cases

  • Modeling and observation: Learn how to define models in database/models, observe changes with findAndObserve and query.observe, and trigger UI updates.
  • Stable re-renders: Use wrappers and withObservables patterns to ensure React re-renders reflect the latest data without mutating references.
  • React integration patterns: Examples of screens that subscribe to DB changes and render live data.
  • Use case: A detail screen showing live-updating phrases, lessons, or decks.

Quick Start

Install and integrate WatermelonDB patterns in your React Native project to begin observing and rendering live database changes.

Frequently Asked Questions about watermelondb

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make WatermelonDB data live and reactive in React Native?

To make WatermelonDB data live and reactive, apply observer patterns using findAndObserve and query.observe. Implement wrapper state to force new references, ensuring React components re-render reliably whenever underlying database records change.

Why does my React Native UI not update when WatermelonDB data changes?

React Native UI fails to update on WatermelonDB data changes when references mutate instead of creating new instances. Resolve this by applying withObservables patterns and wrapper state to ensure React detects the reference changes and triggers proper re-renders.

How do I use findAndObserve and query.observe for live database updates?

Use findAndObserve and query.observe to subscribe to WatermelonDB record changes and trigger UI updates. Enforce observable query patterns to safely integrate these observers with WatermelonDB's React hooks, building screens that render live data dynamically.

What is the best way to structure WatermelonDB models for reactive queries?

The best way to structure WatermelonDB models for reactive queries is to define them in database/models and enforce observable query patterns. This ensures observers like findAndObserve reliably track data changes and reflect them in the UI.

Can I use WatermelonDB hooks to build a screen with live-updating data?

Yes, you can build screens with live-updating data by safely integrating WatermelonDB's React hooks. Combine these hooks with wrapper state and observable patterns to subscribe to database changes and render live details like phrases, lessons, or decks.

Do I need wrapper state to force new references when observing WatermelonDB queries?

Yes, wrapper state is required to force new references when observing WatermelonDB queries. Without enforcing these observable patterns, React cannot detect mutated data references, preventing components from re-rendering on live database changes.