reactjs - 调用 API 时的 componentWillMount vs componentDidMount
问题描述
我刚刚将 Facebook 登录(Javascript SDK)添加到我的 React 应用程序中。问题是当我在 componentDidMount 中添加 Facebook API 时,网页加载变得非常缓慢。因此,即使有弃用警告,我也尝试了另一种方法 componentWillMount。但看起来将 API 调用更改为 componentWillMount 显着提高了加载速度。
在网站性能方面,您认为 componentWillMount 和 componentDidMount 有区别吗?可以使用 componentWillMount 方法吗?还是您强烈推荐componentDidMount?
class FacebookAuth extends Component {
UNSAFE_componentWillMount() {
window.fbAsyncInit = () => {
window.FB.init({
appId: "ID",
cookie: true,
xfbml: true,
version: "v4.0"
});
}}
解决方案
你不应该使用 componentWillMount,它会被 React v17 完全删除。
在您的用例中应该没有明显的性能差异。这一定是另一个问题。您的 API 调用都应该在 componentDidMount 中。
推荐阅读
- python-3.x - umongo,pymongo,python 3,我如何从参考字段中加载数据
- parsing - 为什么 Bison 中的每个操作都有一个规则
- c++ - sizeof 在函数类型上;gcc 不认为它是格式错误的
- mongodb - 如何在 Mongo Stitch 电子邮件确认 URL 中使用深层链接?
- dialogflow-es - 由于平台响应无效(使用 Youtube API),无法将 Dialogflow 响应解析为 AppResponse
- c# - 如何将固定大小的表单设置为不同的分辨率
- php - Laravel 多对多更新特定字段
- scala - Scala - 实现对象工厂模式
- android - 使用从 Json 获取的数据进行其他 Json 解析
- javascript - 有没有办法将 headerMenu 添加到组列?