在反应中如何以及在何处获取数据[重复]

Posted

技术标签:

【中文标题】在反应中如何以及在何处获取数据[重复]【英文标题】:How and where to fetch data in react [duplicate] 【发布时间】:2017-09-28 19:51:34 【问题描述】:

如何在 React 中执行 AJAX 请求? React 本身并不支持任何特定的获取数据的方式。 react 中的哪个钩子最适合获取数据 [constructor, componentdidmount] 或具有自定义钩子 [静态方法]。

【问题讨论】:

您应该使用 axios 库来获取数据。这是链接npmjs.com/package/axios。 【参考方案1】:

您应该调用 AJAX 请求的位置取决于您的功能,

    如果您需要在组件安装时或重复间隔时调用 AJAX,您应该在 componentDidMount 函数中调用它。例如,定期从服务器获取数据以在屏幕上更新。

    如果你想发送一个事件的 AJAX 请求,你应该在你的自定义函数中包含它。一个示例可能是将输入值发布到您的后端 api

为了进行 AJAX 调用,您可以使用 axios、fetch npm 包

【讨论】:

【参考方案2】:

在 React 中没有获取 AJAX 请求的任何特定位置。这主要取决于您的功能。到目前为止,我已经在 'ComponentWillMount' 方法内部进行了 AJAX 调用,以便尽快准备好数据。

另外,有时我需要在安装组件后从服务器获取数据。所以在那种情况下,我不得不使用这个解决方法:React - setState() on unmounted component

这里最重要的主题是在从服务器获取数据后不阻塞渲染界面并正确设置状态。

【讨论】:

以上是关于在反应中如何以及在何处获取数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从外部api获取数据时反应应用程序中的Cors错误[重复]

用于在反应中传输数据的功能[重复]

Firebase会做出反应,从连接的集合中获取数据

如何使用 redux 在反应中获取数据?

如何在反应中从json文件中获取数据?

如何在本机反应中从 json 获取数据?