首页 > 解决方案 > 在 React 中为更新的组件执行 API 请求的正确方法是什么?

问题描述

我有两个组件:应用程序和电影。在我的 App 组件中,我显示了一个电影 ID 列表(它们来自我的本地数据库),在 Movie 组件中,我显示了已单击的电影 ID 的详细视图。

在 Movie 组件中,我从 IMDB API 获取一些数据以获取匹配的 ID。电影 ID 作为道具传递给电影。

默认情况下不显示电影组件。如果单击电影 ID,则会显示电影组件。显示后,可以从列表中单击另一个电影 ID,并且必须使用从 API 中新获取的数据更新电影组件。

执行 API 请求的正确方法是什么?如果我在 componentDidMount() 中执行此操作,那么 API 请求只会在 Movie 组件第一次呈现时发生。如果我在 componentWillReceiveProps() 中执行此操作,则 Movie 组件仅在渲染后更新时才执行请求。可以同时使用 componentDidMount 和 componentWillReceiveProps 吗?或者有没有更合适的方法?

标签: ajaxreactjsapirequest

解决方案


尝试使用 componentWillMount,它将在组件安装之前触发。 是关于组件生命周期的一个很好的指南。


推荐阅读