У меня есть специальный хук, который использует библиотеку axios
для выполнения некоторых запросов:
const useCustomHook = ({ endPoint = "", method = "GET", options = {} }) => {
const [data, setData] = useState([]);
const [request, setRequest] = useState<AxiosRequestConfig>({
url: endPoint,
method,
headers: {},
data: options
});
{...}
}
Я использую типы Ax ios (AxiosRequestConfig), которые объявляют method
из type Method
:
type Method =
| 'get' | 'GET'
| 'delete' | 'DELETE'
| 'head' | 'HEAD'
| 'options' | 'OPTIONS'
| 'post' | 'POST'
| 'put' | 'PUT'
| 'patch' | 'PATCH'
К сожалению, method
выделяет следующую ошибку: Type 'string' is not assignable to type '"GET" | "get" | "delete" | "DELETE" | "head" | "HEAD" | "options" | "OPTIONS" | "post" | "POST" | "put" | "PUT" | "patch" | "PATCH" | undefined'.
Я могу всегда вводите method
как string
, но это нарушит безопасность типов, которые я ищу.