Installing
Frist, you need to install some required packages
npm install react swr axios
yarn add react swr axios
Then, you can install the crudel package
npm install @crudel/client
yarn add @crudel/client
Usage
You can get your data with the useCrudel hook
import { useCrudel } from "@crudel/client"
export default Projects() => { const { data, error, loading, remove } = useCrudel("/api/projects");
if (error) return <div>failed to load</div> if (loading) return <div>loading...</div> if (!data) return <div>no data</div>
return ( <div> <p>Projects: {data.map(p => `${p.name}, `)}</p> <button onClick={() => remove(data[0].id)}>Delete</button> </div> )}
If you only want to modify data without fetching, you can use custom functions
import { create } from "@crudel/client"
export default Projects() => {
return ( <div> <p>Projects</p> <button onClick={() => create("/api/projects", { name: "New Project" })}> Add Project </button> </div> )}