Files
lara-bermite/resources/js/hooks/AxiosTools.tsx
2023-09-14 23:20:29 +02:00

28 lines
784 B
TypeScript

import {useState} from "react";
import axios from "axios";
import React from "react";
const useAxiosTools = () => {
const [loading, setLoading] = useState(false)
const [error, setError] = useState<string|null>(null)
const axiosGet = axios.get
const axiosPost = axios.post
const axiosPut = axios.put
const axiosDelete = axios.delete
const errorCatch = (error: any) => {
setError(error.response.data.message || error.message)
}
const errorLabel = () => {
return error ? <div className="bg-red-600 rounded m-2 text-center text-white px-2 py-1 mx-auto">{error}</div>: null
}
return {loading, setLoading, error, setError, errorCatch, errorLabel, axiosGet, axiosPost, axiosPut, axiosDelete}
}
export default useAxiosTools