React JS의 API에서 데이터를 가져오고 표시하는 방법 가이드

게시 됨: 2024-10-01

API에서 데이터를 가져오고 표시하는 것은 최신 React 애플리케이션의 기본 작업입니다. React가 발전함에 따라 데이터 가져오기가 더욱 간소화되었으며 HTTP 요청을 수행하는 다양한 방법을 제공합니다. 이 가이드에서는 React를 사용하여 데이터를 가져오고 표시하는 단계를 다룹니다.

목차

비녀장

React 프로젝트 설정

API 가져오기를 시작하기 전에 React 프로젝트가 설정되어 있는지 확인하세요. 다음을 사용하여 하나를 만들 수 있습니다.

  • npx create-react-app my-app
    cd my-app
    npm start

그러면 새로운 React 프로젝트가 초기화되고 개발 서버가 실행됩니다.

️ 단계별: React에서 데이터 가져오기

1. 데이터 저장을 위한 상태 생성

useState 후크를 사용하여 가져온 데이터를 저장할 상태 변수를 만듭니다.

자바스크립트

  • const [data, setData] = useState([]);

2. useEffect를 사용하여 API 데이터 가져오기

React의 useEffect 후크는 구성 요소가 마운트될 때 데이터 가져오기가 발생하도록 보장합니다. fetch() 함수는 API에서 데이터를 검색하는 데 사용됩니다.

자바스크립트

  • useEffect(() => {
    fetch('https://api.example.com/data')
    .then(response => response.json())
    .then(data => setData(data))
    .catch(error => console.error('Error:', error));
    }, []);

3. 가져온 데이터 표시

데이터를 가져온 후에는 map() 메서드를 사용하여 JSX에서 렌더링할 수 있습니다.

  • return (
    <div>
    <ul>
    {data.map(item => (
    <li key={item.id}>{item.name}</li>
    ))}
    </ul>
    </div>
    );

️ 데이터 가져오기를 위해 Axios 사용하기

fetch() 기본 브라우저 API이지만 많은 개발자는 단순성과 강력한 기능 때문에 Axios 와 같은 라이브러리를 선호합니다. Axios를 사용하는 예는 다음과 같습니다.

Axios 설치 :

  • npm install axios

데이터 가져오기

  • useEffect(() => {
    axios.get('https://api.example.com/data')
    .then(response => setData(response.data))
    .catch(error => console.error('Error:', error));
    }, []);

‍ 엣지 케이스 처리

  • 로딩 상태 : 데이터를 가져오는 동안 로딩 상태를 관리하는 것이 중요합니다.
  • 오류 처리 : 적절한 오류 처리를 구현하면 사용자 경험이 향상될 수 있습니다.

예:

const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);

useEffect(() => {
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
setData(data);
setLoading(false);
})
.catch(error => {
setError(error);
setLoading(false);
});
}, []);

결론

React의 API에서 데이터를 가져오고 표시하는 것은 동적 웹 애플리케이션을 만드는 데 필수적입니다. fetch() API를 사용하든 Axios와 같은 라이브러리를 사용하든 프로세스에는 데이터를 저장할 상태를 정의하고, 요청하고, 결과를 렌더링하는 작업이 포함됩니다. 이러한 단계를 이해하고 로드 및 오류와 같은 극단적인 사례를 처리하면 응답성이 뛰어난 데이터 기반 앱을 효율적으로 구축할 수 있습니다.

자주 묻는 질문

1. API 데이터 가져오기를 시작하려면 React 프로젝트를 어떻게 설정해야 하나요?

React 프로젝트를 설정하려면 다음 명령을 실행하세요.

npx create-react-app my -app
cd my -app
npm start

그러면 프로젝트가 초기화되고 개발 서버가 시작됩니다.

2. 가져온 데이터를 React에 어떻게 저장하나요?

useState 후크를 사용하여 가져온 데이터를 저장할 수 있습니다. 예:

const [data, setData] = useState ([]);

3. 구성요소가 마운트될 때 React에서 데이터를 어떻게 가져올 수 있나요?

useEffect 후크를 사용하여 구성 요소가 마운트될 때 데이터를 가져옵니다.

useEffect ( () => {
fetch ( 'https://api.example.com/data' )
. then ( response => response. json ())
. then ( data => setData (data))
. catch ( error => console . error ( 'Error:' , error));
}, []);

4. 데이터를 렌더링할 때 React에서 map() 메소드를 사용하는 목적은 무엇입니까?

map() 메소드는 가져온 데이터 배열을 반복하고 JSX의 각 항목을 렌더링하는 데 사용됩니다. 예를 들어:

<ul>
{data. map ( item => (
< li key = {item.id} > {item.name} </ li >
))}
</ul>

5. 왜 Fetch API 대신 Axios를 사용해야 합니까?

많은 개발자가 Axios를 선호하는 이유는 HTTP 요청을 단순화하고, 더 많은 기능을 제공하며, 이전 브라우저를 보다 일관되게 지원하기 때문입니다.

6. React 프로젝트에 Axios를 어떻게 설치하나요?

Axios를 설치하려면 다음을 실행하세요.

npm install axios

7. React에서 Axios를 사용하여 데이터를 어떻게 가져오나요?

Axios를 사용하면 다음과 같은 데이터를 가져올 수 있습니다.

useEffect ( () => {
axios. get ( 'https://api.example.com/data' )
. then ( response => setData (response. data ))
. catch ( error => console . error ( 'Error:' , error));
}, []);

8. React에서 데이터를 가져올 때 로딩 상태를 어떻게 처리할 수 있나요?

useStateloading 변수를 생성하여 로딩 상태를 관리할 수 있습니다. 예를 들어:

const [loading, setLoading] = useState ( true );

useEffect ( () => {
가져오기 ( 'https://api.example.com/data' )
. 그런 다음 ( 응답 => response.json ())
. 그런 다음 ( 데이터 => {
setData (데이터);
setLoading ( false );
});
}, []);

9. 데이터를 가져올 때 오류를 어떻게 처리합니까?

오류를 처리하려면 error 상태를 정의하고 요청이 실패할 경우 업데이트하세요.

const [error, setError] = useState ( null );

useEffect ( () => {
가져오기 ( 'https://api.example.com/data' )
. 잡기 ( 오류 => {
setError (오류);
setLoading ( false );
});
}, []);

10. API 가져오기 시 로딩 및 오류와 같은 극단적인 경우를 처리하는 것이 왜 중요한가요?

로드 및 오류와 같은 극단적인 경우를 처리하면 사용자에게 데이터 가져오기의 현재 상태에 대한 정보가 제공되고 데이터 검색이 실패하거나 시간이 걸리는 경우 보다 원활한 사용자 경험을 제공할 수 있습니다.