首页 > 解决方案 > 在 react.js 中,是在表单提交时调用外部 API 还是在后续组件的 componentDidMount() 中调用更好?

问题描述

我是 React.js 的新手,我一直在努力理解何时调用外部 API 的最佳实践。我目前有一个收集一些数据的表格。我想使用这些数据发出 POST 请求,接收一些数据并通过新组件显示该数据。我的模糊理解表明我可以通过两种方式做到这一点:

选项 1:调用 API 并在表单组件中获取结果,然后重定向到新路由(连同结果)

选项 2:重定向到新路由(连同表单数据),然后在新组件的 componentDidMount() 中调用 API

我真的不知道什么是处理这个问题的最佳方法。在某种程度上,选项 1 听起来更适合我,因为它似乎实现了更好的关注点分离。任何意见将不胜感激。

标签: reactjs

解决方案


就我而言, 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 中的非常简单的介绍。如果您有更多问题,请告诉我。祝你好运。


推荐阅读