小编And*_*sen的帖子

Apollo GraphQl起反应.如何清除所有变量组合的查询缓存?

我在我的反应应用程序中使用apollo graphql.说我有以下查询:

query ListQuery($filter: String!) {
   items(filter: $filter) {
     id
     name
   }
}
Run Code Online (Sandbox Code Playgroud)

此查询允许我使用过滤器查询项目列表.假设我使用过滤字符串A,然后使用过滤字符串B.缓存现在包含两个条目:ListQuery(A)和ListQuery(B).

现在让我们说我使用一个变异来添加一个新项目.如何从缓存中删除所有缓存的查询?所以在这种情况下,我想从缓存中删除ListQuery(A)和ListQuery(B).

我怎么能做到这一点?

caching react-apollo

21
推荐指数
2
解决办法
8064
查看次数

如何防止Google OAuth自动登录?

这与有关Google Plus的问题有关:禁止使用Google Plus自动登录

区别在于我使用的是Google登录平台,而不是具有不同API的google plus。

背景:

我有一个包含免费试用注册表格的定价页面。该表单具有Google登录按钮。我希望已登录的用户仍能够在不使用Google登录导致重定向的情况下查看定价页面。

我的密码

我在页面顶部有一个meta标签,用于标识我的应用程序。 <meta name="google-signin-client_id" content="MY_CLIENT_ID">

我在页面上包含了此脚本:<script src="https://apis.google.com/js/platform.js"></script>

我有这个div呈现按钮: <div class="g-signin2" data-onsuccess="onSignIn"></div>

我的onSignIn函数如下所示:

function onSignIn(googleUser) {
  var id_token = googleUser.getAuthResponse().id_token;

  $('#google_token').val(id_token); //hidden form value
  $('#google-oauth').submit(); //hidden form
}
Run Code Online (Sandbox Code Playgroud)

隐藏的表单将提交到后端,在该后端使用令牌来检索用户的电子邮件地址和名称,然后创建用户帐户并登录。

我的问题是,如果用户已经登录,则Google将自动调用onSignIn函数,从而导致在加载页面时提交表单。有没有办法防止onSignIn函数被自动调用?

参考:https : //developers.google.com/identity/sign-in/web/sign-in

javascript google-oauth

6
推荐指数
3
解决办法
5666
查看次数

标签 统计

caching ×1

google-oauth ×1

javascript ×1

react-apollo ×1