에그타르트
88
2020-11-30 21:36:22
3
113

초보) 리액트 api에서 원하는 데이터만 선택해서 불러올 수 있나요?


api를 받아서 가져오는 것을 연습하고 있습니다.

https://jsonplaceholder.typicode.com/posts 이런 api에서 예를들어 id가 2인 것만 가져오고 싶으면 어떻게 해야 하나요?

보통 이런 식으로 가져오던데 그러면 map으로 묶어서 그런지 전체 데이터가 불러와집니다.. 

const [data, loading] = useState([]);
useEffect(() => {
    getData();
  }, []);
const getData = () => {
    axios
      .get("https://jsonplaceholder.typicode.com/posts")
      .then(({ data }) => {
        loading(data);
      })
      .catch((err) => alert(err));
  };

return(
  {data?.map((d) => (
      <span>{d.id}</span>
      <p>{d.body}</p>
  ))}
);

원하는 데이터만 가져올 때 어떻게 해야 하는지 예제를 찾지 못해서 질문드립니다. 

0
  • 답변 3

  • 송서리
    2020-11-30 22:59:54

    '원하는 데이터'만은 API를 수정해야 합니다.


    지금 상황에서는 데이터를 제공하는 곳에서 주는대로 받아야죠.

  • 실크론
    125
    2020-12-01 09:43:09
    우선 주는대로 받고 뿌릴때 님이 원하는것만 뿌려야해요
  • 에그타르트
    88
    2020-12-01 21:22:41
    아 그러면 데이터를 가져올 때는 map으로 다 가져오고 뿌릴때 if로 id가 2인 것만 가져오게 하면 원하는  데이터만 가져와지는 것이군요 감사합니다.
  • 로그인을 하시면 답변을 등록할 수 있습니다.