我正在尝试在 Kotlin/Js 项目中实现 Google 的点击登录。
是否有类似库的 kotlin-wrapper 可供在 Kotlin/Js 项目中使用 https://accounts.google.com/gsi/client?
或者有关于如何做到这一点的任何参考吗?
我试过这个-
在我的 index.html 中,根据 gsi 文档
<script src="https://accounts.google.com/gsi/client" async defer></script>
在 kotlin/Js 中反应应用程序
val google: dynamic = window.asDynamic().google
val SignIn =
FC<Props> {
useEffect {
google.accounts.id.initialize()
}
}
但是我在浏览器上收到这个错误
意外的应用程序错误!
无法读取未定义的属性(读取“帐户”)
问题是您在未加载谷歌客户端脚本时立即尝试访问
window.google
。 async
和 defer
属性确保脚本将在文档被解析后异步加载。所以当这条线
val google: dynamic = window.asDynamic().google
正在执行,它总是
null
.
我建议你改成这一行:
val google: dynamic get() = window.asDynamic().google
在这种情况下,您将按需访问
window.google
。