我正在尝试将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
}
}
我希望它每次都能提取数据,但它只在我导出数据时将其拉上,此后它不会改变。
如果要在运行时获取数据,可以使用componentDidMount
生命周期钩子并将其置于组件状态。
async componentDidMount() {
const res = await axios.get('https://myapi.com')
this.setState({ items: res.data });
}