useFetch

Taek·2020년 6월 14일
0
import { useState, useEffect } from 'react';

function useFetch(callback, url, option = { method: 'GET' }) {
    const [loading, setLoading] = useState(true);
    const fetchInitialData = async () => {
        const response = await fetch(url, option);
        const data = await response.json();
        callback(data);
        setLoading(false);
    };

    useEffect(() => {
        fetchInitialData();
    }, []);

    return loading;
}

export default useFetch;

초기 데이터를 가져 올 때 사용 할 수 있다.
매개변수 callback 값은 component에 정의 된 setState 함수를 인자로 전달 받는다.

// example
const Component = () => {
	const [gameData, setGameData] = useState(null);  
	
  	useEffect(() => {
		useFetch(setGameData, URL);
    }, []);
}

0개의 댓글