getServerSideProps возвращает старый ответ api - передается пустой слаг - Next.js React

import React from 'react';
import { API_BASE_URL } from 'fby-common/dist/config';
import get from "lodash/get";
import Home from 'components/Home';
import SpaceContainer from 'containers/Editor/Spaces/SpaceContainer';
import InterestContainer from 'containers/Editor/Interest/InterestContainer';

function DecidePage(props) {
    const slugData = get(props, 'slugData.slugs', {});

    if (slugData.slug) {
        if (slugData.type === "space") {
            return <SpaceContainer id={slugData.id} />
        } else if (slugData.type === "tag") {
            return <InterestContainer id={slugData.id} />
        }
    }

    return <Home />;
}

// This function gets called at build time
export async function getServerSideProps(context) {
    // Call an external API endpoint to get slugs
    console.log('context here:' + context);
    const slug = get(context, 'query.slug', '')
    console.log('slug here:' + slug);
    let headers = new Headers();
    const body = JSON.stringify({ slug });
    let requestOptions = {
        method: "POST",
        headers,
        body,
        redirect: "follow",
    };
    const res = await fetch(
        `${API_BASE_URL}/v1/slug/get`,
        requestOptions
    );
    console.log('res here:' + res);
    const slugData = await res.json();
    console.log('slugData here:' + slugData);
    return {
        props: { slugData, slug }
    };

}

export default DecidePage;

getServerSideProps всегда возвращает один и тот же ответ API, однако я передаю разные параметры. Я думаю, что slug передается как пустой, а не то значение, которое я получаю из контекста.

server.get('/:slug', (req, res) => {
  const actualPage = '/DecidePage';
  app.render(req, res, actualPage, { slug: req.params.slug });
});

ДАННЫЕ:

context here:[object Object]
slug here:himalayan-space
res here:[object Response]
slugData here:[object Object]

https://i.stack.imgur.com/nXPw4.png

API отлично работает с почтальоном: https://i.stack.imgur.com/ZDxoL.png

0 ответов

Другие вопросы по тегам