Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // useOrders.js
- import { useState, useEffect } from 'react';
- import OrderService from './OrderService';
- function useOrders() {
- const [orders, setOrders] = useState([]);
- 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),
- });
- }
- async function fetchOrders() {
- const apiOrders = await OrderService.get();
- setOrders(apiOrders);
- }
- useEffect(() => {
- fetchOrders();
- }, []);
- return {
- orders: getDeletableOrders(),
- };
- }
- export default useOrders;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement