草庐IT

javascript - 如何从服务器端补充我的 Apollo 状态?

我是react-apollo的新手我很困惑如何从服务器端向客户端补充状态我的应用程序正在运行,但问题是它没有使用来自Apollo的预加载状态在组件渲染后它正在调用再次调用API。严重的Redux集成使复杂化只有Apollo状态正在呈现,而不是这里的问题的自定义redux状态。但我不知道如何集成。服务器.jsconstHTML=({html,state})=>();app.get('/*',(req,res)=>{constrouteContext={};constclient=serverClient();constcomponents=();getDataFromTree(compo

javascript - 如何让 Redux Thunk 和 Apollo GraphQL 协同工作

在我的项目中,ReduxThunk用于在actioncreator中保留所有异步函数。现在我正在尝试将ApolloGraphQL添加到我的项目中,一切正常,除了在我的功能组件中添加mutations并在那里调用它们时,它破坏了reduxthunk架构。如何解决?我想我可以创建新的actioncreator方法并将突变传递给它们,但它很快就会变成样板,这对我来说似乎不是一个好的解决方案。 最佳答案 Apollo突变不会破坏reduxthunk架构。如果您需要在突变后更新自己的reducer,请从突变的then或catch中分派(dis

javascript - react-apollo gql, TypeError : Object(. ..) 不是函数

我有一个App组件,我正在将其包装到apollo提供程序中:importReact,{Component}from"react";import{observer,Provider}from"mobx-react";import{BrowserRouterasRouter}from"react-router-dom";importstyledfrom"styled-components";import{ThemeProvider}from"styled-components";//graphQLimport{ApolloClient}from"apollo-client";import{

javascript - Apollo 服务器的自定义错误对象

我正在尝试对apollo-server使用自定义错误并且我的自定义错误似乎有一个属性(code)在formatError中不可用。importExtendableErrorfrom'es6-error'exportdefaultclassMyErrorextendsExtendableError{constructor(args){letcode=Object.keys(args)[0]letmessage=Object.values(args)[0]super(message)this.code=code}}我有一个简单的错误处理程序是这样工作的:letINVALIDREQUEST=

javascript - React-Apollo,不要在组件加载时运行查询

我正在使用很棒的https://github.com/apollographql/react-apollo库,我正在尝试查看是否有比我现在做的更好的约定来将数据加载到组件中。我已经将我的组件设置为使用apolloHOC将数据加载到我的组件中,如下所示:constmainQuery=gql`querycurrentProfileData($userId:String,$communityId:String!){created:communities(id:$communityId){opportunities{submittedDateapprovalDatestatusopportun

javascript - Next js 和 Apollo - Cookie 未被传递

我将NextJS与Apollo一起使用,并在我的数据HOC中使用以下配置对其进行了设置:import{ApolloClient}from'apollo-client';import{InMemoryCache}from'apollo-cache-inmemory';import{HttpLink}from'apollo-link-http';import{onError}from'apollo-link-error';import{withClientState}from'apollo-link-state';import{getMainDefinition}from'apollo-u

javascript - Apollo 订阅 - 处理 WS 与 subscribeToMore 断开连接

我一直在寻找一种方法来处理我的带有Apollo订阅的React应用程序中的网络套接字断开连接,但还没有找到这样做的方法。我在apollo文档中看到的其他示例显示了以下捕获重新连接的方法:constwsClient=process.browser?newSubscriptionClient(WSendpoint,{reconnect:true,}):null;constwsLink=process.browser?newWebSocketLink(wsClient):null;if(process.browser){wsLink.subscriptionClient.on('reconn

javascript - Apollo "Subscription field must return Async Iterable. Received: undefined"

我有一个触发channel事件“countIncr”的突变,但我没有看到事件的相应订阅与事件负载一起触发。更新:我已经对这篇文章进行了多次更新,现在我正在更改标题以更能代表我所在的位置。我收到graphqlPlayground错误"SubscriptionfieldmustreturnAsyncIterable.Received:undefined"我遇到问题的TGRstack复制:https://github.com/TGRstack/tgr-apollo-subscription-example-microservice/没有TGRstack的工作再现:https://github

javascript - 如何将 apollo-link-http 与 apollo-upload-client 一起使用?

我正在尝试弄清楚如何使用apollo-link-http与apollo-upload-client.两者都创建了一个终止链接,但我怎么能同时使用这两个链接呢?在我的index.js中我有这样的,但它不会工作,因为两个链接都终止=>constuploadLink=createUploadLink({uri:process.env.REACT_APP_GRAPHQL_URL});consthttpLink=newHttpLink({uri:process.env.REACT_APP_GRAPHQL_URL});constclient=newApolloClient({link:Apollo

javascript - GraphQL 联合和冲突类型

我的项目有问题,但我在互联网上找不到任何解决方案。情况是这样的。我有一个Union(DataResult),有两种类型(Teaser和Program)我有一个带有data字段的Zone类型(数组DataResult)Teaser和Program具有相同的title字段,但类型不同(StringvsString!)这是来自Zone、Teaser和Program模式的部分:typeProgram{title:String}typeTeaser{title:String!}unionDataResult=Teaser|ProgramtypeZone{(...)data:[DataResult