1

我正在尝试使用 Nextjs 设置 SSR。

我有以下代码,我在其中获取 json 数据并将它们绑定为初始道具。

当我处于开发模式时,一切正常,当我部署到服务器时,获取仅在客户端工作(当我从其他视图导航时)。

如果我尝试通过获取直接加载页面,服务器挂起,没有错误。

我应该补充一点,一切都在 Docker 容器中运行,但我想在这种情况下应该没关系。

这是代码

import React from 'react'
import { get } from 'axios'

import Layout from '../components/Layout/Layout'
import WorkSingle from '../components/Work/WorkSingle/WorkSingle'
import DocumentTitle from '../hoc/DocumentTitle/DocumentTitle'

const Work = (props) => {
    let works = 'Loading...'   

    if (props.workData.length > 0)
        works = props.workData.map(work => (
            <WorkSingle
                img={work.image}
                url={work.url}
                title={work.title}
                key={work.title}
            />
        ))


    return (
        <Layout>
            <DocumentTitle title='Some page title' />
            <section id="work">
                <h1 className="font_title">WORK</h1>
                <div className="row">
                    {works}
                </div>
            </section>
        </Layout>
    )
}
Work.getInitialProps = async () => {
    const response = await get('VALID_URL')
    if (response && response.data)
        return { workData: response.data.work }
    return {}
}

export default Work
4

1 回答 1

0

我已经解决了,问题是我想从为应用程序提供服务的同一台服务器上获取静态数据,由于某种原因,当服务器试图从自身获取时它卡住了,我现在将要获取的资源放到另一台服务器上解决了问题。

我正在通过静态 .json 文件模拟数据,我想当我创建实际的 API 端点时,它也可以在同一台服务器上工作。

于 2018-11-30T22:25:01.413 回答