interface resData {
  data: {
    access_token: string;
  };
}

interface signUpData {
  userClusterName: string;
  accessToken: string;
}
export const startRegister = async (code: string | ParsedQs | string[] | ParsedQs[] | undefined): Promise<any> => {
  const res: resData = await client.post('<https://api.intra.42.fr/oauth/token>', {
    grant_type: 'authorization_code',
    client_id: process.env.REACT_APP_REGISTER_CLIENT_UID,
    client_secret: process.env.REACT_APP_REGISTER_CLIENT_SERECT,
    code: code,
    redirect_uri: '<http://localhost:3000/register>',
  });
  const info42 = await client.get('<https://api.intra.42.fr/v2/me>', {
    headers: {
      Authorization: `Bearer ${res.data.access_token}`,
    },
  });

  return { info: info42, accessToken: res.data.access_token };
};

export const signUp = async (data: signUpData): Promise<any> =>
  await client.post(`/${data.userClusterName}`, {
    accessToken: data.accessToken,
    userPassword: '123',
    userDeadline: '2022-01-29',
    userEmail: '[email protected]',
  });

const getUser = async (): Promise<any> => {
    try {
      const query = QueryString.parse(location.search, {
        ignoreQueryPrefix: true,
      });
      const res = await startRegister(query.code);
      setUser(res);
    } catch (e) {
      console.log(e);
    }
  };

const getUser = async (): Promise<void> => {
    try {
      const query = QueryString.parse(location.search, {
        ignoreQueryPrefix: true,
      });
      const res = await startRegister(query.code as string);
      setUser(res);
    } catch (e) {
      console.log(e);
    }
  };

useEffect(() => {
    (() => {
      getUser()
        .then((data) => console.log(data))
        .catch((err) => console.error(err));
    })();
    return () => {};
  }, []);

해당 함수 getuser를 오류 없이 불러오기에는 .then 과 catch가 필요하다. 하지만 우리에게 꼭 필요한 부분이 아니기 때문에 쓰고싶지 않을때는 void를 이용하면 되는듯하다.

useEffect(() => {
    void getUser();
  }, []);

이는 페이지 no-floating-promises 관련 오류이다

no-floating-promises | TypeScript ESLint