npm 包 apollo-thunk 使用教程

简介

apollo-thunk 是一个 Node.js 的 npm 包,它是基于 Apollo GraphQL 和 Redux Thunk 的一个中间件。通过使用 apollo-thunk,我们可以轻松地将 Apollo GraphQL 和 Redux Thunk 集成到我们的应用程序中,从而更好地管理应用程序的状态和数据。

安装

安装 apollo-thunk 可以使用 npm 或 yarn。

使用 npm:

--- ------- ------------

使用 yarn:

---- --- ------------

用法

使用 apollo-thunk 首先需要创建一个新的 Apollo Link,然后将其添加到 Apollo Client 中。假设我们已经有一个 Apollo Client 实例:

------ - ------------ - ---- ----------------
------ - -------- - ---- -------------------
------ - ------------- - ---- ------------------------

----- ------ - --- --------------
  ----- --- ----------
    ---- -----------------------------
  ---
  ------ --- ----------------
---

要添加 apollo-thunk 中间件,我们需要首先安装 redux-thunk:

--- ------- -----------

---- --- -----------

然后创建一个新的 Apollo Link:

------ - ---------- - ---- --------------
------ - -------------------- - ---- ---------------

----- -------------- - -----------------------

----- ------ - --- --------------
  ----- -----------------
    ---------------
    --- ----------
      ---- -----------------------------
    --
  ---
  ------ --- ----------------
---

然后我们就可以在我们的 Redux action 中使用 apollo-thunk 了。首先创建一个异步的 action:

------ - --- - ---- ---------------
------ - ----------------- - ---- ---------------

----- ------------- - ----
  ----- -
    ----- -
      --
      ----
    -
  -
--

------ ----- --------- - -- -- ---------------------------------

这个 action 返回了一个函数,这个函数会被 Redux Thunk 处理。在这个函数中,我们创建了一个 Apollo Query 并将其封装成一个 apollo-thunk。这个 apollo-thunk 在被调用时会发起网络请求并返回数据,这个数据会被保存在 Redux Store 中。

然后我们就可以使用这个 action 来加载我们的数据了:

------ - ----------- - ---- --------------
------ - --------- - ---- --------
------ - --------- - ---- ------------

-------- ---------- -
  ----- -------- - --------------
  
  ------------ -- -
    ----------------------
  -- ----

  ------ -------- ---- ---- ----------
-

在这个例子中,我们使用了 React 的钩子函数 useDispatchuseEffect 来加载我们的数据。使用 useDispatch 来派发我们的 Redux action,使用 useEffect 来在组件挂载后加载我们的数据。

示例代码

完整的示例代码可以在 GitHub 上找到:https://github.com/apollographql/apollo-thunk-example

总结

通过使用 apollo-thunk,我们可以将 Apollo GraphQL 和 Redux Thunk 集成到我们的应用程序中,从而更好地管理应用程序的状态和数据。在 Redux 中使用 apollo-thunk 可以使我们更好地管理和操作数据,并且可以更好地处理异步操作。这对于大型的 React 应用程序来说是非常有价值的。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60065b43c6eb7e50355dbe1c


猜你喜欢

  • 使用npm包 bigfive

    在前端开发中,我们通常会使用各种各样的工具来帮助我们更高效地进行开发。其中,npm包是非常常见的一种工具,可以帮助我们快速地使用其他人已经写好的代码。 在本文中,我们将介绍一个名为bigfive的np...

    3 年前
  • npm 包 express-api-require 使用教程

    简介 express-api-require 是一款 npm 包,可以使得使用 Node.js 的 Express 框架编写 API 更加简捷方便。利用该包,可以快捷地定义路由和控制器,并且无需手动调...

    3 年前
  • npm 包 gpsi-badge 使用教程

    前言 在前端开发过程中,页面性能是一个非常重要的指标。我们通常可以通过 Google PageSpeed Insights(GPSI)来评估页面性能。然而,如果要将页面性能同步地分享给他人或发布到自己...

    3 年前
  • npm包react-native-landscape-view使用教程

    在开发React Native应用程序的过程中,我们可能会遇到需要使用横向视图(landscape view)的需求。在这种情况下,我们可以使用npm包react-native-landscape-v...

    3 年前
  • npm 包: script-link-html-webpack-plugin 使用教程

    简介 在前端开发中,我们经常需要在 HTML 里面引入各种 JavaScript 和 CSS 文件,这些文件可能是我们开发的代码,也有可能是一些库和框架的代码。在引入这些文件的时候,我们需要手动地写 ...

    3 年前
  • npm 包 starts-with-vowel 使用教程

    在前端开发中,我们经常需要对字符串做处理以达到我们想要的效果。在处理字符串时,我们可能会需要判断一个字符串是否以元音字母开头。如果字符串以元音字母开头,我们会有一些不同的处理方式。

    3 年前
  • npm 包 @jcu/promised-ldap 使用教程

    简介 @jcu/promised-ldap 是一个基于 Promise 和 Node.js 的轻量级 LDAP 客户端,支持使用 Promise 进行异步请求,在 Node.js 应用中使用 LDAP...

    3 年前
  • npm 包 jf-ui-vue 使用教程

    在前端开发中,我们常常需要使用 UI 组件来提升页面交互效果,jf-ui-vue 就是其中的一款。jf-ui-vue 是一个基于 Vue.js 的 UI 库,提供了大量常用组件,比如按钮、表格、弹框等...

    3 年前
  • npm 包 wrap-error-handler 使用教程

    在前端开发中,我们经常需要处理错误。无论是自己的业务逻辑错误,还是第三方库抛出的异常,都需要我们及时处理和反馈给用户。为了避免代码中出现繁琐的 try..catch 语句,我们可以使用 npm 包 w...

    3 年前
  • npm 包 js-buffer-diff 使用教程

    什么是 js-buffer-diff js-buffer-diff 是一个 npm 包,用于比较两个二进制数据的差异,并输出差异信息。这个包可以帮助前端开发者在处理二进制数据时更加便捷和高效地进行数据...

    3 年前
  • npm 包 mongoose-plugin-soft-deleted 使用教程

    介绍 mongoose-plugin-soft-deleted 是一个用于 mongoose 的软删除插件,它将所有删除操作转化为将被删除的文档的 deleted 字段设置为 true。

    3 年前
  • npm 包 mst-cm-fe 使用教程

    介绍 mst-cm-fe 是一个基于 React 和 Ant Design 的组件库,旨在快速构建企业级管理后台。该库集成了大量常用的组件和样式,让开发者能够快速搭建出美观、简洁、易用的管理后台。

    3 年前
  • npm 包 nodejs-state-machine 使用教程

    在前端开发中,我们经常需要处理各种复杂的业务逻辑和状态管理,这时候使用状态机就显得尤为重要。而在 Node.js 中,有一款常用的状态机库就是 nodejs-state-machine。

    3 年前
  • NPM包 React-Native-Keychain-Sensitive-Info 使用教程

    在现代移动应用中,保护用户敏感信息的安全是至关重要的。为了避免数据泄露和用户信息被盗用,开发人员需要将这些信息存储在可靠的、受保护的存储区域中。为此,React Native提供了一个名为react-...

    3 年前
  • npm 包 multichainstream 使用教程

    在前端开发中,我们经常需要处理多个数据流,比如用户输入、WebSocket 数据、定时器等。而 multichainstream 正是为此而生的一个 npm 包。它能够连接多个数据流,并统一处理它们的...

    3 年前
  • npm 包 @pedromsilva/data-either 使用教程

    在前端开发过程中,经常需要处理异常情况,比如 API 请求失败、用户输入错误等等。数据 Either 是一种流行的编程概念,它提供了一种方式来管理这些异常情况。 @pedromsilva/data-e...

    3 年前
  • npm 包 distance-between-points 使用教程

    在前端开发中,计算两个点之间的距离是一项常见的任务。在 JavaScript 中,我们可以使用许多不同的算法来计算这个距离,但有时我们需要一些额外的工具来帮助我们完成这项任务。

    3 年前
  • npm 包 homebridge-mi-ir-remote-electrolux 使用教程

    前言 homebridge-mi-ir-remote-electrolux 是一款基于 Homebridge 平台,使用小米红外遥控器控制 Electrolux 空调的 npm 包。

    3 年前
  • npm 包 @angular-package/change-detection 使用教程

    前言 在前端开发中,为了实现视图和数据的同步更新,Angular 应用框架提供了自己的变更检测机制。不过有时候,这个变更检测机制会出现性能问题,尤其是在数据量较大的情况下。

    3 年前
  • NPM包 @gather-research/react-gather 使用教程

    前言 React是一款流行的前端JavaScript库,它可以快速构建高效且响应式的用户界面。一些第三方库和插件可以进一步提高React的开发效率,而其中之一就是npm包 @gather-resear...

    3 年前

相关推荐

    暂无文章