Estoy tratando de hacer una tarea específica cada vez que se llama un elemento. Pero esto compromete el principio DRY, así que traté de terminar el trabajo usando una función y obtuve un error de reacción. ¡luego intenté hacerlo con CustomHooks pero obtuve el mismo error! ¿Hay alguna forma de evitar la repetición del código?
React Hook "useDeleteInventory" no se puede llamar dentro de una devolución de llamada. Los React Hooks deben llamarse en un componente de función React o en una función React Hook personalizada react-hooks/rules-of-hooks
función de devolución de llamada
onClick={() => useDeleteInventory( item._id, myInventories, setMyInventories ) }Gancho personalizado -
import axios from "axios"; const useDeleteInventory = async (id, inventories, setInventories) => { const url = `http://localhost:5000/inventories/${id}`; const proceed = window.confirm("Are you sure?"); if (proceed) { await axios.delete(url); const remainingInventories = inventories.filter( (inventory) => inventory._id !== id ); setInventories(remainingInventories); } } export default useDeleteInventory