Nextjs:每次页面加载时从GET请求中渲染数据

问题描述 投票:2回答:1

我正在尝试将GET请求中的数据加载到Next.js站点上的表中。它在本地运行时工作正常但是当我将它发布到静态站点时,它不会每次都更新表。

我发现当你将数据导出到静态网站时,它会将数据拉入静态HTML页面,但我希望每次都将数据拉入表中。如何确保它仅使用GET请求中的数据填充数据,而不是静态HTML页面上的数据?

我使用以下代码来执行get请求:

static getInitialProps = async function() {

    var data;
    await axios.get('https://myapi.com')
        .then(res => {
            data = res.data;
        });
    return {
        items: data.TableData
    }

}

我希望它每次都能提取数据,但它只在我导出数据时将其拉上,此后它不会改变。

reactjs static next.js ssr
1个回答
1
投票

如果要在运行时获取数据,可以使用componentDidMount生命周期钩子并将其置于组件状态。

async componentDidMount() {
  const res = await axios.get('https://myapi.com')
  this.setState({ items: res.data });
}
© www.soinside.com 2019 - 2024. All rights reserved.