Javascript 如何在next.js中重新蚀刻客户端的api数据?

Javascript 如何在next.js中重新蚀刻客户端的api数据?,javascript,node.js,reactjs,next.js,Javascript,Node.js,Reactjs,Next.js,一旦状态改变,我需要从api重新加载数据。是否可以在客户端使用getInitialProps再次获取数据?为什么不在componentDidMount上获取数据 componentDidMount() { yourAPI.fetch().then((pFetchData) => { this.setState({data: pFetchData}); }); } 实际上,componentDidMount是放置调用以获取数据的最佳位置,原因有二: 使用DidMount可以

一旦状态改变,我需要从api重新加载数据。是否可以在客户端使用getInitialProps再次获取数据?

为什么不在componentDidMount上获取数据

componentDidMount() {
  yourAPI.fetch().then((pFetchData) => {
    this.setState({data: pFetchData});
  });
}
实际上,componentDidMount是放置调用以获取数据的最佳位置,原因有二:

  • 使用DidMount可以清楚地表明,数据在之后才会加载 初始渲染。这提醒您设置初始状态 正确地说,这样您就不会得到导致 错误
  • 如果需要在服务器上呈现应用程序 (SSR/同构/其他流行语),componentWillMount实际上是 调用两次“一次在服务器上,一次在客户端”,这是 可能不是你想要的。把数据加载代码放进去 componentDidMount将确保仅从 客户

  • 希望有帮助:)

    您的问题显示了解决问题的方法。如果您尝试过,您应该编辑我们的问题,以详细说明您所做的工作、研究的目的,并指向任何有用但无法回答您问题的链接。如果您尝试编写解决方案,则应将其添加到编辑中。您的尝试应该是转换为,以便阅读和理解清晰。还可以阅读“在状态更新时使用
    componentDidMount
    react生命周期尝试获取数据”