ajax - 在 React 中为更新的组件执行 API 请求的正确方法是什么?
问题描述
我有两个组件:应用程序和电影。在我的 App 组件中,我显示了一个电影 ID 列表(它们来自我的本地数据库),在 Movie 组件中,我显示了已单击的电影 ID 的详细视图。
在 Movie 组件中,我从 IMDB API 获取一些数据以获取匹配的 ID。电影 ID 作为道具传递给电影。
默认情况下不显示电影组件。如果单击电影 ID,则会显示电影组件。显示后,可以从列表中单击另一个电影 ID,并且必须使用从 API 中新获取的数据更新电影组件。
执行 API 请求的正确方法是什么?如果我在 componentDidMount() 中执行此操作,那么 API 请求只会在 Movie 组件第一次呈现时发生。如果我在 componentWillReceiveProps() 中执行此操作,则 Movie 组件仅在渲染后更新时才执行请求。可以同时使用 componentDidMount 和 componentWillReceiveProps 吗?或者有没有更合适的方法?
解决方案
尝试使用 componentWillMount,它将在组件安装之前触发。 这是关于组件生命周期的一个很好的指南。
推荐阅读
- c++ - 在 Dev C++ 中生成一个 8 位随机数
- java - 在 Eclipse 中将质量配置文件或规则从 SonarQube 导入到 SonarLint
- ruby-on-rails - 如何从 rails 服务/操作 git repo
- python - subprocess.popen 无法运行命令
- python - Pandas astype 为 int() 抛出无效的文字,以 10 为底错误
- jmeter - JMeter 不会记录移动设备上的 HTTP 流量
- python - 如何定义 clear_shortcuts 中的每个快捷方式?所以每个快捷方式都可以用作别名?不和谐.py
- html - html 页面未显示(仅在调试中)
- google-data-studio - Google Data Studio 条形图 - 相同的名称在 Data Studio 上显示为单独
- r - 从 R 创建一个由 0 和 1 组成的矩阵