// Challenge 10: Delete item const deletePost = (id) => { if (window.confirm("Delete this post?")) { setPosts(posts.filter((p) => p.id !== id)); } };
{/* List */} <ul> {paginated.map((post) => ( <li key={post.id}> <strong>{post.title}</strong> <button onClick={() => deletePost(post.id)}>❌</button> <p>{post.body}</p> </li> ))} </ul> code monkey skill challenge 6-10
// Challenge 9: Add new item (simulated) const addPost = () => { const newPost = { id: Date.now(), title: newTitle, body: newBody, }; setPosts([newPost, ...posts]); setNewTitle(""); setNewBody(""); }; // Challenge 10: Delete item const deletePost =
{/* Add form */} <div> <input placeholder="Title" value={newTitle} onChange={(e) => setNewTitle(e.target.value)} /> <input placeholder="Body" value={newBody} onChange={(e) => setNewBody(e.target.value)} /> <button onClick={addPost}>Add Post</button> </div> p.id !== id))
{/* Search */} <input placeholder="Filter by title" value={filter} onChange={(e) => setFilter(e.target.value)} />
import React, { useState, useEffect } from "react"; const API = "https://jsonplaceholder.typicode.com/posts";