현재 api 호출 함수들을 도메인 별로 나눠서 관리하고 있습니다. 폴더 구조가 /api폴더 아래에 각 도메인 파일을 만들었습니다. 예) 검색 api - /api/search.js 고민은 각 도메인 파일안에서 함수들을 어떤식으로 코드를 짜야 좋은가입니다. 제 생각엔 방법은 2가지인 것 같은데요 1. 모든 함수에 export 붙여서 함수형으로 가져간다. 예) export function searchName(){} 2. class형으로 만들어서 static 메소드로 관리한다. 예) class Search { static searchName(){} } 보통 어떤식으로 관리할까요?
답변 1
React에서 API 호출 함수를 관리하는 방법은 프로젝트에 따라 다를 수 있습니다. 하지만 일반적으로는 두 가지 방법을 사용합니다. #1 Export 함수 API 호출 함수를 각 도메인 파일 내에서 함수형으로 작성하고, 해당 함수를 export하여 다른 파일에서 import하여 사용합니다. 이 방법은 간단하고 직관적이며, 코드가 간결합니다. #2 Class & Static Method API 호출 함수를 클래스로 작성하고, static 메소드로 만들어 다른 파일에서 import하여 사용합니다. 이 방법은 함수형보다는 코드가 조금 더 길어지지만, 더 복잡한 로직을 다룰 때는 더욱 유용합니다. 이 두 가지 방법 중 어떤 것을 사용하든, 중요한 것은 일관성을 유지하는 것입니다. 프로젝트 전체에서 일관된 방법으로 API 호출 함수를 작성하고 관리해야 유지 보수가 쉬워집니다.
1#1
2// api/search.js
3export const searchName = async (query) => {
4 // API 호출 코드
5};
6
7// component.js
8import { searchName } from '../api/search';
9
10const Component = () => {
11 // ...
12 const handleSearch = async () => {
13 const result = await searchName('query');
14 // ...
15 };
16 // ...
17};
18
19#2
20// api/search.js
21class Search {
22 static async searchName(query) {
23 // API 호출 코드
24 }
25}
26export default Search;
27
28// component.js
29import Search from '../api/search';
30
31const Component = () => {
32 // ...
33 const handleSearch = async () => {
34 const result = await Search.searchName('query');
35 // ...
36 };
37 // ...
38};
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!