javascript - 用 React 调用 API 的最佳实践是什么

标签 javascript reactjs api

在调用 API 时,我实际上在 React 中遇到了一个小问题,因为 ComponentWillMount 已被弃用。

我是这样做的:

class MyClass extends Component {
  constructor() {
  super();

    this.state = {
      questionsAnswers: [[{ answers: [{ text: '', id: 0 }], title: '', id: 0 }]],

    },
  };
}
componentDidMount() {
   this.getQuestions();
}

getQuestions = async () => {
   let questionsAnswers = await Subscription.getQuestionsAndAnswers();
   questionsAnswers = questionsAnswers.data;
   this.setState({ questionsAnswers });
};

所以页面第一次渲染时没有questionsAsnwers,当我得到questionAnswers时页面被重新渲染

是否有更好的解决方案来避免重新渲染?

最佳答案

根据 React 文档,处理 API 调用的最佳方法是在 componentDidMount 方法 react lifeCycle 中。此时你所能做的就是添加一个微调器,让你的组件更加人性化。
希望在下一个 React 版本中。 React 将引入一种新的方法来使用 suspense 方法解决此类问题 https://medium.com/@baphemot/understanding-react-suspense-1c73b4b0b1e6

关于javascript - 用 React 调用 API 的最佳实践是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49751618/

相关文章:

php - 检索维基百科文章的第一段

javascript - 在页面加载之间闪烁

javascript - 页面滚动后,Android 上的 Bootstrap 弹出窗口消失

c - 如何解决这个IP地址错误?

reactjs - 尝试弄清楚如何在 Gatsby.js 中实现 cookie 并以新的 GDPR 法管理它们

javascript - 使用 React 如何获取 const 中保存的选择下拉列表的值?

javascript - Laravel 不在函数中接受参数

javascript - 使用二分查找将字符串插入已排序的字符串数组中

javascript - 删除字符串中以 'vi-' 开头的子字符串

javascript - react native : Passing DataSource into Method from Props in _renderRow