Skip to content

Commit 84b66ce

Browse files
committed
Handling Events
1 parent bbd4de9 commit 84b66ce

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

Section9-React-with-TypeScript/reminders-app/src/App.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,13 @@ function App() {
1717
setReminders(reminders);
1818
};
1919

20+
const removerReminder = (id: number) => {
21+
setReminders(reminders.filter(reminder => reminder.id !== id))
22+
}
23+
2024
return (
2125
<div className="App">
22-
<ReminderList items={reminders} />
26+
<ReminderList items={reminders} onRemoveReminder={removerReminder}/>
2327
</div>
2428
);
2529
}
Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
1-
import React from 'react';
2-
import Reminder from '../models/reminder';
1+
import React from "react";
2+
import Reminder from "../models/reminder";
33

44
interface ReminderListProps {
5-
items: Reminder[]
5+
items: Reminder[];
6+
onRemoveReminder: (id: number) => void;
67
}
78

8-
function ReminderList({ items }: ReminderListProps) {
9-
return (
10-
<ul className='list-group'>
11-
{items.map(items => <li className='list-group-item' key={ items.id}>{items.title}</li>)}
12-
</ul>
13-
);
9+
function ReminderList({ items, onRemoveReminder }: ReminderListProps) {
10+
return (
11+
<ul className="list-group">
12+
{items.map((items) => (
13+
<li className="list-group-item" key={items.id}>
14+
{items.title}
15+
<button
16+
onClick={() => onRemoveReminder(items.id)}
17+
className="btn btn-outline-danger mx-3 rounded-pill"
18+
>
19+
Delete
20+
</button>
21+
</li>
22+
))}
23+
</ul>
24+
);
1425
}
1526

16-
export default ReminderList;
27+
export default ReminderList;

0 commit comments

Comments
 (0)