'GitHub API getRepos async request turn back a promise instead of an array of repos

I have a problem with async request return. It returns me back a Promise instead of data!! So i tried to process data variable a second time but it did not work. I exported it as it needs, created initial state for repo=[], passed in to the reducer...

gitContext.jsx

const getRepos = async (login) => {
        setLoading();

        const params = new URLSearchParams({
            sort:'created',
            per_page:10
        })

        const response = await fetch(`http://api.github.com/users/${login}/repos?${params}`)
        if (response.status === 404) {
            window.location = './notfound'
        } else {
            const data = await response.json();
            console.log(data);

            dispatch({
                type: 'GET_REPOS',
                payload: data
            })
        }
    }

Here is the function call from User.jsx

const { getUser, user, isLoading, repos, getRepos } = useContext(GitContext);


    const params = useParams()

    useEffect(() => {
        getUser(params.login);
        // console.log(getRepos(params.login?.repos))
        getRepos(login?.repos);
    }, [])


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source