我有自定义的Firebase身份验证进程(Auth0 => Firebase)
,所以我使用TypeScript和Svelte运行我的所有登录逻辑,一旦我有一个成功的JWT令牌,无论是来自sessionStorage还是来自新登录,我启动了我的Elm应用程序,通过旗帜发送一些JWT和个人资料信息。它是一个SPA,带有路由和页面,所有组件化和工作正常。
现在我唯一真正的问题是,当涉及到firebase时,肯定存在ElmFire,但我如何才能给它一个有效的身份验证令牌等。而且没有加载Firebase for JS和ElmFire for Elm,它看起来像太多的Kb&#39。
有没有一种好的,有效的方式让榆树移出一个"嘿听这个参考#34;用一个"嘿榆树,我有一些新的数据供你参考#34 ;。告诉JS听取的端口,以及告诉Elm有关新数据的订阅。没有每个监听器的端口,也没有每个数据回调的订阅。
理想情况下,我喜欢我的更新,发送接受回调消息的CMD,更新要调用的函数和ref。所以我可以将它存储在某种类型的List中,当我从JS获取新的数据有效负载时,我可以遍历我的List以找到与ref匹配的项目,执行更新,在Msg中发送字符串值,因此解码发生在页面上。更新
有人可以将这个问题抽象为更一般的问题。感觉这个问题是人们可能拥有的东西。
答案 0 :(得分:1)
问题是必须在Elm中键入port / sub。
因此,具有一个参数的单个端口/ sub可以侦听多个ref,只要它们都具有相同的类型即可。
如果没有,您可以使用多个参数定义port / sub,每个参数对应要交换的每种数据类型,并在适当的参数中传递任何特定数据。其他参数将为null。