Вызов API в Next JS getStaticProps вызывает ошибку 500 - PullRequest
1 голос
/ 29 мая 2020

Вызов API, сделанный в getStaticProps, кажется, вызывает ошибку 500.

Вот код моего компонента:

import React from "react";
import API from "services/api";

const ArtistListPage = (props) => {
    return (
        <>
            {props.artists.map((artist) => (
                <div key={artist.id}>{artist.first_name}</div>
            ))}
        </>
    );
};

export async function getStaticProps() {
    // Get external data from the file system, API, DB, etc.
    const res = await API.get("/get_artists");
    const artists = await res.data.json();
    return {
        props: { artists },
    };
}

export default ArtistListPage;

Я хотел бы упомянуть, что тот же вызов API в a useEffect работает, а также передает жестко запрограммированный объект в props в getStaticProps. Кажется, что только вызов API внутри getStaticProps вызывает проблему.

Кто-нибудь знает, откуда могла возникнуть ошибка и как ее решить?

1 Ответ

2 голосов
/ 29 мая 2020

getStaticProps выполняется во время сборки, и вы не можете вызвать свой собственный API, потому что сервер Next. js не запущен.

Вы можете выполнять запросы к БД или читать из файловой системы внутри getStaticProps напрямую, без вызова API.

...