Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 690 Bytes

README.md

File metadata and controls

42 lines (33 loc) · 690 Bytes

vncache (very nice cache)

a library to manage state and caching for remote resources with a REST-like backend.

getting started

// cache.ts
import {resource, createResourceCache} from '@delashum/vncache'

type Task = {
  id: string
  name: string
  completed: boolean
}

const tasksResource = resource<Task>(async () => {
  const tasks = await fetchTasksFromBackend()
  return tasks
})

const $cache = createResourceCache({
  tasks: tasksResource,
})
// App.tsx
import {$cache} from './cache.ts'

const App = () => {
  const tasks = $cache.tasks.use()

  return (
    <div>
      {tasks.map(t => (
        <div>{t.name}</div>
      ))}
    </div>
  )
}