選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

hooks.ts 449B

123456789101112131415161718
  1. import axios from 'axios';
  2. import { useCallback, useEffect, useState } from 'react';
  3. export const useCatchDocumentError = (url: string) => {
  4. const [error, setError] = useState<string>('');
  5. const fetchDocument = useCallback(async () => {
  6. const { data } = await axios.get(url);
  7. if (data.retcode !== 0) {
  8. setError(data?.retmsg);
  9. }
  10. }, [url]);
  11. useEffect(() => {
  12. fetchDocument();
  13. }, [fetchDocument]);
  14. return error;
  15. };