我有一个graphQL API。这意味着我可以定制我想要的突变反应。
当然,我需要我的UI与新数据同步。不过,我不确定什么是实现这一目标的最佳选择。
备选案文1
https://react-query.tanstack.com/guides/invalidations-from-mutations
validateQueries
重新蚀刻变异后应该陈旧的相关查询备选案文2
https://react-query . tan stack . com/guides/updates-from-mutation-responses
setQueryData
合并对当前查询数据的突变响应每种方法的优缺点是什么?在处理graphQL后端时,是否推荐使用另一种?
React查询似乎表明无效查询
应该是最好的方法。请参阅下面的引用。我的意思是,我可以让对象从突变中返回,但它不是图形QL灵活endpoint中的“自动”。您可以选择。
在处理更新服务器上对象的突变时,新对象通常会在突变的响应中自动返回。我们可以利用 mutation 函数返回的对象,并使用 Query Client 的 setQueryData 方法立即使用新数据更新现有查询,而不是重新提取该项目的任何查询并浪费对已有数据的网络调用:
我认为不从突变中返回并使用validateQueries
将使我的突变更加简单和灵活,因为它们可以在不同的上下文中使用,在每种情况下使不同的查询无效。
我想除了避免一个额外的网络请求之外,我看不到任何其他支持选项2的理由。
这适用于 React 单页 Web 应用程序。这里的最佳实践是什么?
刚刚在官方文件中发现了一个非常好的帖子。
https://react-query.tanstack.com/community/tkdodos-blog#12-mastering-mutations-in-react-query
链接到:
https://tkdodo.eu/blog/mastering-mutations-in-react-query
我想默认的做法是使用< code>invalidateQueries并在必要时使用< code>setQueryData。
我有一个apollo包装的组件,它应该为我的组件提供来自github graphql v4 api的响应数据。我打算使用应用程序另一部分的字符串(SEARCH\u QUERY)来用于我的gql查询,但github不断返回未定义的字符串。我在关注阿波罗官方文件http://dev.apollodata.com/react/queries.html#graphql-选项。我看不出我做错了什么。 这个没
但是,当我想使用从上一次查询中获得的Id进行第二次查询并使用该Id作为筛选器时,该怎么办?当我像以前一样在ExampleComponent中返回另一个graphql查询时,我会得到一个错误,即我没有返回有效的react组件。那我该怎么做呢? 提前感谢!
和 Flux 类似,Redux 也是需要注册一个回调函数 store.subscribe(listener) 来获取 State 的更新,然后我们要在 listener 里面调用 setState() 来更新 React 组件。 Redux 官方提供了 react-redux 来简化 React 和 Redux 之间的绑定,不再需要像 Flux 那样手动注册/解绑回调函数。 接下来看一下是怎么做到
我的变异查询: 查询变量: GraphQL模式(突变定义): 我尝试同时使用GraphiQL接口和apollo-client来发送带有变量的请求,但出现了相同的错误。有什么想法吗?
问题内容: 我有一个使用两个第三方服务的React应用程序。该应用已开始使用。 这两个服务都需要一个API密钥。 一键通过脚本标签提供,如下所示: 另一个API密钥用于请求中。我将实际密钥存储在一个常量中,并用它来构成请求。像这样: Google 在处理API密钥方面的最佳做法提示是: 不要将API密钥直接嵌入代码中 这使我想到了第一个问题: 1.如何在中使用变量? 在我的文件中,我有两个看起来像
我有一个React应用程序使用了两个第三方服务。应用程序是使用启动的。 这两个服务都需要API密钥。 一个键是通过脚本标记提供的,如下所示: 这就引出了我的第一个问题: 1.如何使用中的变量? 在我的文件中,我有两个如下所示的标记: 与此问题相关的是,将API密钥存储在常量中是否安全,就像我对所做的那样? 谷歌还表示: 不要将API键存储在应用程序源树中的文件中 说我照谷歌说的做 ...将它们存储