javascript - 如何在next.js中重新获取客户端的api数据?

标签 javascript node.js reactjs next.js

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

最佳答案

为什么不在componentDidMount上获取数据?

componentDidMount() {
  yourAPI.fetch().then((pFetchData) => {
    this.setState({data: pFetchData});
  });
}

实际上,componentDidMount 是调用获取数据的最佳位置,原因有两个:

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

https://www.codeproject.com/Articles/1177776/Where-to-Fetch-Data-componentWillMount-vs-componen

希望有帮助:)

关于javascript - 如何在next.js中重新获取客户端的api数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48668245/

相关文章:

javascript - 如何使用 type=module 脚本中的代码

javascript - 使用 if 语句 Webdriverjs 检测警报

javascript - ReactJS 设置状态不会从 Axios 响应数据分配数组

javascript - 提供的数据不是 ReactJS 中有效的 base64 字符串 jsPDF

javascript - Mongoosejs .find 返回整个模型而不是文档

javascript - 只是想问一下Button的功能

javascript - 谷歌翻译栏下移内容

javascript - 如何求值的总和?

javascript - 如何确保我的 textarea 值应始终包含 javascript 中的单词 "india"?

node.js - 在 typescript 中读取和写入文本文件