首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    GraphQL最突出的架构优势是什么?

    作者 | Khalil Stemmler 策划 | 田晓旭 在服务器上使用 GraphQL 代替 REST 是有很多好处的,使用 Apollo Client 取代自己编写的数据获取逻辑也有很多优势。...1六边形架构 Alistair Cockburn 在“六边形架构”中提到,我们架构的最内层是应用程序和域层。在这一层的外面是适配器(或端口)。 可以将端口视为“将外部世界连接到内部世界的一种方式”。...基本的全栈 Apollo Client+Server 应用程序栈 4数据图让远程状态更接近客户端本地状态 所有前端框架都需要解决的三个挑战分别是数据存储、更改检测和数据流。...Apollo 发布了带有 apollo-link-state 的 Apollo Client 后,React 开发人员就能用更少的代码满足所有这三个需求了。...Apollo-link-state(现已直接放入 Apollo Client 2 和 3 中)让开发人员可以编写几乎同时解决远程状态和本地状态的查询。远程状态(位于服务器上)感觉比之前近多了。

    2.2K20

    写在 2021: 值得关注学习的前端框架和工具库

    Client Apollo-Client[35],来自ApolloGraphQL[36]的作品,只有React版本是官方团队在维护,Vue版本的被挪到Vue团队了(VueUI有一部分就是基于Apollo-Client-Vue...Relay[39],FaceBook出品,所以也比较受到推崇(我记得看到过原因是这样,GraphQL如果要改啥,才刚进入草案,Relay团队就已经提供了支持),但上手没有Apollo-Client那么容易...在TS中这个工具的主要能力就是生成TS的类型定义,同时它的插件体系还提供了更多的额外能力,如Apollo-Client的插件,让你可以直接使用封装好的的useXXXQuery等,前端连查询语句都不用写了...Babel[97],我下一个准备开始学习的方向之一,因为想通过Babel来简单了解一下前端世界中的AST。 Tailwind[98],原子化CSS的集大成者,喜欢的人爱不释手。...37] Apollo-Client-Vue: https://github.com/vuejs/vue-apollo [38] Angular版本: https://github.com/kamilkisiela

    4.2K10

    2020 年你应该知道的 React 库

    所有 React 的内置 hooks 都非常适合本地状态管理。当涉及到远程数据的状态管理时,如果远程数据带有 GraphQL 端点,我建议使用 Apollo Client。...Apollo Client 的替代方案是 urql 和 Relay。 如果远程数据不是来自 GraphQL 端点,请尝试使用 React 的 Hooks 来管理它。...推荐: 局部状态: React 的 useState, useReducer, useContext Hooks 通过 Graph QL 的远程状态: Apollo Client 通过 REST 的远程状态...如果您有足够的时间来处理 GraphQL API,我建议您使用 Apollo Client。可供选择的 GraphQL 客户端将是 urql 或 Relay。...建议: 浏览器的本地 fetch API axios Apollo Client React 类型检查 幸运的是 React 有自己的类型检查能力。

    14.4K40

    React Native 三大痛点曝光

    React Native 框架遇到的痛点,以及替代工具的选择。...State of React Native 发起人,同时也是 Software Mansion 的软件工程师 Kacper Kapuściak 认为,由于维护 React Native 需要三种以上的编程语言...而在服务器端状态函式库方面,TanStack Query 和 Apollo 表现相当,但是在开发者表达会再次使用的比例上,Apollo 明显更少。...总的来说,React Native 框架还有许多可改进之处,不过受访者对框架整体感到满意,无论是构建应用程序的复杂度,或者是框架的改进速度,社区成员皆认为发展适中。...···························· 你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。

    60510

    写在2021: 值得关注学习的前端框架和工具库

    Client Apollo-Client,来自ApolloGraphQL的作品,只有React版本是官方团队在维护,Vue版本的被挪到Vue团队了(VueUI有一部分就是基于Apollo-Client-Vue...Relay,FaceBook出品,所以也比较受到推崇(我记得看到过原因是这样,GraphQL如果要改啥,才刚进入草案,Relay团队就已经提供了支持),但上手没有Apollo-Client那么容易。...在TS中这个工具的主要能力就是生成TS的类型定义,同时它的插件体系还提供了更多的额外能力,如Apollo-Client的插件,让你可以直接使用封装好的的useXXXQuery等,前端连查询语句都不用写了...的编写,不需要定义Resolver、ObjectType这些东西,因为BlitzJS内部用useQuery和useMutation抹掉了中间的调用过程(和Apollo的hooks类似但不完全相同,Apollo...Babel,我下一个准备开始学习的方向之一,因为想通过Babel来简单了解一下前端世界中的AST。 Tailwind,原子化CSS的集大成者,喜欢的人爱不释手。

    2.9K10

    React 中请求远程数据的四种方法

    另外,如果你使用的是 GraphQ L,还可以考虑使用 Apollo 之类的其他不错的选择。这篇文章假设你正在调用传统的 REST API。 方式1:内联 这是最简单,最直接的选择。...但是这个示例忽略了加载状态,错误处理,声明和设置相关状态等。在现实世界中, HTTP 调用看起来更像这样。...,抛出错误 在 finally 中隐藏加载状态,以确保 Loading 即使发生错误也被隐藏 声明一个空的依赖项数组,以便 useEffect 只运行一次 这只是一个简单的示例,它忽略了许多其他相关问题...service 是最流行的术语,我在下面也讨论了很多好的替代名称,如 client 或 api。 要点是,所有的 HTTP 调用都是通过纯 JavaScript 函数处理的,存储在一个文件夹中。...而且每个 HTTP 调用都需要很少的代码: import React from "react"; import { getUsers } from ".

    4.1K10

    React 中请求远程数据的四种方法

    另外,如果你使用的是 GraphQ L,还可以考虑使用 Apollo 之类的其他不错的选择。这篇文章假设你正在调用传统的 REST API。 方式1:内联 这是最简单,最直接的选择。...但是这个示例忽略了加载状态,错误处理,声明和设置相关状态等。在现实世界中, HTTP 调用看起来更像这样。...,抛出错误 在 finally 中隐藏加载状态,以确保 Loading 即使发生错误也被隐藏 声明一个空的依赖项数组,以便 useEffect 只运行一次 这只是一个简单的示例,它忽略了许多其他相关问题...service 是最流行的术语,我在下面也讨论了很多好的替代名称,如 client 或 api。 要点是,所有的 HTTP 调用都是通过纯 JavaScript 函数处理的,存储在一个文件夹中。...而且每个 HTTP 调用都需要很少的代码: import React from "react"; import { getUsers } from ".

    2.3K30

    为什么我不再用Redux了

    我发现自己更容易将注意力集中在前端应用程序的 UI/UX 上,不会再时刻操心整个后端状态了。 要对比这个库和 Redux 的话,我们来看这两种方法的一个代码示例。...下面是使用 React Query 实现的相同示例: import React from "react"; import { useQuery } from "react-query"; import...{data.length > 0 && data.map((todo) => {todo.text})} ) : null; }; 默认情况下,上面的示例包括具有合理默认值的数据重新获取...React Query 和 SWR 大约是在同一时间开始开发的,并且以积极的方式相互影响。在 react-query 文档中也对这两个库进行了彻底的比较。...Apollo Client SWR 和 React Query 专注于 REST API,但如果你在 GraphQL 上需要类似的东西,就可以考虑 Apollo Client。

    2.7K20
    领券