reactjs - 在 react.js 中,是在表单提交时调用外部 API 还是在后续组件的 componentDidMount() 中调用更好?
问题描述
我是 React.js 的新手,我一直在努力理解何时调用外部 API 的最佳实践。我目前有一个收集一些数据的表格。我想使用这些数据发出 POST 请求,接收一些数据并通过新组件显示该数据。我的模糊理解表明我可以通过两种方式做到这一点:
选项 1:调用 API 并在表单组件中获取结果,然后重定向到新路由(连同结果)
选项 2:重定向到新路由(连同表单数据),然后在新组件的 componentDidMount() 中调用 API
我真的不知道什么是处理这个问题的最佳方法。在某种程度上,选项 1 听起来更适合我,因为它似乎实现了更好的关注点分离。任何意见将不胜感激。
解决方案
就我而言, axios npm 非常适合解决您的一些问题。例如,你可以试试这个:首先——你应该安装 axios npm。
npm install axios --save
然后,在您的组件中,
import axios from 'axios'
我认为获取数据的最佳解决方案是在 componentwillmount 方法中调用 axios。
axios.post('/api/path', data).then(res => {
//here is your action.
}).catch(err => {console.log(err)});
这是关于 axios 在 react 中的非常简单的介绍。如果您有更多问题,请告诉我。祝你好运。
推荐阅读
- android - 如何在Android中将mutableMap添加到拦截器
- javascript - 在服务器端渲染的上下文中,“渲染”是什么意思?
- r - 使用 ggplot2 在堆积条形图上的透明层
- datetime - Netsuite 中的 FTL 日期格式
- maven - 如何在 Maven 中找到工件版本的来源?
- reactjs - 抽屉导航器 React Native 中的条件渲染
- powershell - 将bat文件转换为powershell脚本
- python - 具有多列的 Pandas 数据框条件验证
- javascript - 尝试使用 PHP 和 JS 向自己提交 HTML 表单,但它不起作用
- excel - 是否可以使用创建的函数从另一张表中获取特定数据?