在 React Redux 中从 Web 服务获取值的不同方法?

Different ways to fetch values from web services in react redux?

试图找到从 ReactJs、redux 中的 Web 服务获取值的最佳方法。

找到使用 useEffects、fetch、redux-thunk、redux-saga 的方法。

但是哪个最好用..?

这是个糟糕的问题。好吧,我什至无法解释为什么它不好。我将从这个开始,你在谈论完全不同的事情。 我猜你是在问如何在响应中发出网络请求。以下是对您所谈论的事物及其使用原因的简要说明:

useEffect:它是 React 中的一个钩子,你可以用它 运行 一个效果(基本上 运行 一个函数)在每个或如果取决于在一个状态下,一些渲染。

fetch:这是一个网络 API,您可以使用它发出 ajax 基于承诺的请求(网络请求)。以前,我们有基于事件的 XHR 来这样做。它仍在使用,因为 fetch 不允许跟踪响应下载的下载进度。 'Should I use fetch or XHR for making requests',这是个好问题。

redux-thunk && redux-saga:现在你想在 redux 中使用它。在 redux 中,您可能知道,调度操作是同步的。因此,如果您想执行一些异步任务并在此之后分派操作对象,请查看 redux-thunk 或 redux-saga。

所以问题不应该是 'Which of these should you use for fetching things off the web',因为它们并非专门用于该目的。

有很多不同的方法可以做到这一点。 基本上 useEffect 是一个钩子,不能直接获取任何数据。 那么你必须注意你的应用程序和 select 满足你需求的应用程序。所以没有最好的。如果你的应用程序规模很大,我建议使用 react-query,然后使用 redux saga(如果 api 某些地方需要 reault)