React & TypeScript/TypeScript
[React / TypeScript / API] API 구조 작성은 이렇게 한다.
yoonjong Park
2022. 12. 16. 09:32
컴포넌트 호출 시
import { getCoin, getCoinPrice } from "APIs/get";
index가 있어서, 이렇게 선언하면서 사용이 가능해진다.
리액트 템플릿 사면, 이런 구조로 작성된 형태가 종종 있었는데, 왜 그렇게 했는지 이해가 된다.
이 구조가 가장 깔끔하다.
index.ts
import { getCoins } from "./getCoins";
import { getCoin, getCoinPrice } from "./getCoin";
export { getCoins, getCoin, getCoinPrice };
getCoins.ts
import axios from "axios";
export const getCoins = async () => {
try {
const response = await axios.get("https://api.coinpaprika.com/v1/coins");
return await response.data.slice(0, 100);
} catch (error) {
console.log("error", error);
}
};
getCoin.ts
import axios from "axios";
export const getCoin = async (coinID: string | undefined) => {
try {
const response = await axios.get(
`https://api.coinpaprika.com/v1/coins/${coinID}`
);
return await response.data.slice(0, 100);
} catch (error) {
console.log("error", error);
}
};
export const getCoinPrice = async (coinID: string | undefined) => {
try {
const response = await axios.get(
`https://api.coinpaprika.com/v1/tickers/${coinID}`
);
return await response.data.slice(0, 100);
} catch (error) {
console.log("error", error);
}
};
*error 부분은 아직 처리하지 않았다.