NextJS态呈现

0

的问题

长时间开发最后捡Next.js所以我知道这很可能会归结到一些愚蠢的。 这里去。 什么是错的我 getStaticPaths() 值在这里? 它看起来像我的格式完全相同的文件要求。 (价值被分配到 pathsconsole.log()'d在终端窗口)

enter image description here

export const getStaticPaths = async () => {
    const paths = getEvents();
    return {
        paths,
        fallback: false
    };
};

getEvents() 功能:

export const getEvents = () => {
    axios.post(`${globals.api_endpoint}getEvents.php`, {
        action: 'getStaticPaths'
    }).then((r) => {
        if (!r.data.error) {
            const paths = r.data.map(index => {
                return {
                    params: {
                        id: index.event_id
                    }
                };
            });
            console.log(paths);
            return paths;
        }
    });
};
dynamic next.js reactjs
2021-11-23 05:35:19
2

最好的答案

1

getStaticPath 是异步的功能。 如果你正在做这样的事情 paths 将永远是一个承诺在这里。

const paths = getEvents();
return {
    paths,
    fallback: false
};

你应该利用一个等待关键词这里等待的结果:

const paths = await getEvents();

并在 getEvents 功能,你应该回所有的爱可信.后呼,像这样:

return axios.post(`${globals.api_endpoint}getEvents.php`, {...

此外,我不知道你api端点看起来但api路径应该是这样的: ${globals.api_endpoint}/getEvents.php. 你api端点不应有的削减在结束。

2021-11-23 05:57:30
0

华丽。 谢谢,@krybinski的帮助。 的 课程, 这是返回的承诺。 错误是不是很愚蠢的,因为我预期,但是一些简单的,肯定的。

export const getEvents = async () => {
    return axios.post(`${globals.api_endpoint}getEvents.php`, {
        action: 'getStaticPaths'
    });
};


export const getStaticPaths = async () => {
    const response = await getEvents();
    const paths = response.data.map(event => {
        return {
            params: {
                id: event.event_id
            }
        }
    });
    return {
        paths,
        fallback: false
    };
};
2021-11-23 13:53:11

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................