Задать вопрос
Ответы пользователя по тегу Next.js
  • Как сделать мультидоменность на Next.js?

    @djEban Автор вопроса
    Ну что сказать, это жоска, 6 часов убитого времени и вот в чем лично у меня была проблема , может кто столкнется

    Былая функция-обертка, условно такая

    async function withHost(getStaticPropsData) {
        const getStaticProps = async (ctx) => {
            const response = await getHost(ctx.params.host);
            const gspData = await getStaticPropsData(ctx);
            return {
                props: { host: response.data, ...gpsData.props }
            }
        };
    
        const getStaticPaths = async () => {
            const response = await ServerCache.get("hosts");
            return {
                paths: response.data.map(...), 
                fallback: "blocking" 
            };
        }
    
        return { getStaticPaths, getStaticProps };
    };


    Здесь все просто: каждую хост-страницу оборачиваю в данную обертку, чтобы получить статические пути + для каждой страницы базовую информацию о хосте

    Проблема была, не догадаетесь, в том, что я экспортировал getStaticPaths (!!!) и использовал вот так:

    // index.tsx
    
    export const { getStaticPaths, getStaticProps } = withHost(() => ({
        props: {}
    }))


    Достаточно было вынести gsp в отдельную функцию и использовать ее лично для каждого роута

    export const getStaticProps  = withHost(() => ({
        props: {}
    }))
    
    export const getStaticPaths = getHostsPaths();
    Ответ написан
    Комментировать