Skip to content

Instantly share code, notes, and snippets.

@erksch
Created March 15, 2019 11:18
Show Gist options
  • Save erksch/9396d308e1ccb881a7b162b4990eccd6 to your computer and use it in GitHub Desktop.
Save erksch/9396d308e1ccb881a7b162b4990eccd6 to your computer and use it in GitHub Desktop.
// useDeletableOrders.js
import { use, useEffect } from './useOrders';
import OrderService from './OrderService';
function useDeletableOrders() {
const { orders, setOrders } = useOrders();
function createDeleteHandler(id) {
return async function () {
await OrderService.delete(id);
setOrders(orders.filter(order => order.id !== id));
}
}
function getDeletableOrders() {
return orders.map(order => ({
...order,
delete: createDeleteHandler(order.id),
});
}
return { orders: getDeletableOrders() };
}
export default useDeletableOrders;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment