[javascript] 리액트 라우터의 JSON 파일 로딩과 REST API 통신

리액트 라우터는 싱글 페이지 애플리케이션(SPA)을 구축하기 위해 사용되는 인기 있는 라이브러리입니다. JSON 파일 또는 REST API와의 통신은 리액트 라우터에서 중요한 요소입니다. 이 블로그 포스트에서는 리액트 라우터를 사용하여 JSON 파일을 로딩하고 REST API와 통신하는 방법에 대해 알아보겠습니다.

JSON 파일 로딩

JSON 파일은 애플리케이션에서 정적 데이터를 로딩하는 데 자주 사용됩니다. 리액트 라우터를 사용하여 JSON 파일을 로딩하는 방법은 간단합니다. 먼저, 필요한 JSON 파일을 fetch 함수를 사용하여 로드합니다. 이후, 데이터를 상태(state)에 저장하고 렌더링할 컴포넌트에 전달합니다.

아래는 JSON 파일을 로딩하는 간단한 예제입니다:

import React, { useState, useEffect } from 'react';

const MyComponent = () => {
  const [data, setData] = useState([]);

  useEffect(() => {
    const fetchData = async () => {
      const response = await fetch('data.json');
      const jsonData = await response.json();
      setData(jsonData);
    };

    fetchData();
  }, []);

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

export default MyComponent;

위 코드는 data.json 파일을 로드하고 데이터를 상태에 저장한 다음, 화면에 데이터를 출력하는 예제입니다. 이 컴포넌트를 라우터의 해당 경로에 매칭하여 JSON 데이터를 로딩하고 표시할 수 있습니다.

REST API 통신

JSON 파일 외에도 리액트 라우터를 사용하여 REST API와 통신할 수 있습니다. 이를 위해 fetch 함수를 사용하여 API 엔드포인트로 데이터 요청을 보내고, 응답을 처리합니다.

아래는 REST API와 통신하는 예제입니다:

import React, { useState, useEffect } from 'react';

const MyComponent = () => {
  const [data, setData] = useState([]);

  useEffect(() => {
    const fetchData = async () => {
      const response = await fetch('https://api.example.com/data');
      const jsonData = await response.json();
      setData(jsonData);
    };

    fetchData();
  }, []);

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

export default MyComponent;

위 코드는 https://api.example.com/data를 통해 데이터를 로드하고, 받아온 데이터를 상태에 저장한 다음, 화면에 출력하는 예제입니다. 라우터에서 해당 컴포넌트를 사용하여 REST API와 통신하고, 필요한 데이터를 렌더링할 수 있습니다.

결론

리액트 라우터를 사용하여 JSON 파일 로딩과 REST API와의 통신은 싱글 페이지 애플리케이션(SPA)을 개발하는 데 필수적입니다. 위 예제를 참고하여 JSON 파일과 REST API와의 통신을 간편하게 구현하고, 효과적으로 데이터를 활용할 수 있도록 해보세요. 리액트 라우터의 다양한 기능과 함께 웹 애플리케이션을 더욱 강력하고 동적으로 만들 수 있습니다.

참고 자료