Migration Guide

Coming from TanStack Query? The mental model maps closely.

If you know TanStack Query, you already know most of Tide. The main shift is that Tide is WebSocket-first: real-time pushes are built in, not bolted on.

Concept mapping

tsx
// TanStack Query
const q = createQuery(() => ({
queryKey: ['todos'],
queryFn: fetchTodos,
}))

// Tide
const todos = createTide({
key: 'todos',
fetcher: ({ signal }) => fetchTodos(signal),
ws: (msg) => (msg.type === 'todos' ? msg.data : null), // optional
})

queryKey → key, queryFn → fetcher. Tide adds ws for push updates and persists to sessionStorage by default for 0ms revisits.

A full step-by-step migration guide is in progress. See the API Reference for every option in the meantime.