我在我的 React Native 应用程序中使用 firebase auth(通过 expo),身份验证通过观察者(包括持久用户)工作正常:
import firebase from "firebase";
firebase.auth().onAuthStateChanged(user => {
if (user) {
this.props.setUser(user);
}
}).bind(this);
Run Code Online (Sandbox Code Playgroud)
我显示一个带有登录/注册的登陆屏幕,如果用户使用帐户登录,我将转发到主应用程序。应用程序启动后,加载持久用户时需要一段时间才能触发onAuthStateChanged方法,这导致我的应用程序短暂显示此登陆屏幕,然后导航离开。我希望有一个加载屏幕,直到正确确定身份验证状态。
但是,如果没有持久用户,则 onAuthStateChanged 永远不会触发,因此我没有要等待的特定事件。我可以使用超时计时器,但这似乎是一个糟糕的解决方案,因为必要的等待时间可能会根据硬件和连接速度而有很大差异。
如何正确解决这个问题,即我如何知道没有持久用户?
javascript firebase react-native firebase-authentication expo
我想从 firebase firestore 获取数据并使用数据类转换 toObject() 。但它不起作用,因为对象已初始化但未设置字段。
这与 Kotlin 的 Firebase Firestore toObject()非常相似。但我已经使用了使用数据类的建议答案,但它仍然不起作用。
数据类
data class DataClass(
var str : String = "default",
var int : Int = 0,
var bool: Boolean = false
)
Run Code Online (Sandbox Code Playgroud)
备注:使用非数据类或更改变量名称(在代码和数据库中)没有任何区别。
我实际上想使用更复杂的数据/对象,但剥离了其他所有内容以使其首先工作。
代码
val clusterRef = db.collection("cluster")
clusterRef.document("e8efpRf2FBPwByWqaIRe").get(Source.SERVER).addOnSuccessListener { documentSnapshot ->
Log.d(TAG, "${documentSnapshot.id} => ${documentSnapshot.data}")
val cluster = documentSnapshot.toObject(DataClass::class.java)
Log.d(TAG,"${cluster?.str} ${cluster?.int} ${cluster?.bool}")
Log.d(TAG, "object: $cluster")
}
Run Code Online (Sandbox Code Playgroud)
日志猫
e8efpRf2FBPwByWqaIRe => {str=HelloWorld, bool=true, int=42}
W/Firestore: (21.3.0) [k]: No setter/field for str found on class c.d.a.c.a …Run Code Online (Sandbox Code Playgroud) 我使用Windows设置了热键.输入和挂钩,但似乎通用Windows应用程序不允许你这样做.我在Nuget中尝试的所有库都失败了,我似乎无法使用相同的方法来使用hWnd,RegisterHotKey和hooks.
UWP是否删除了此功能?
我正在用 Python 开发 Telegram Bot,但我很难正确使用 Markdown。但是我找不到有关电报降价实施的任何适当资源。由于两个不同的降价“版本”(Markdown 和 Markdown_V2),它变得更加复杂。并且它们都与正常聊天字段的行为(手动输入)不匹配。
测试字符串:
*Bold*, _italic_, *_bold and italic_*, **double bold**, __double italic__, __**double bold and double italic**__
Run Code Online (Sandbox Code Playgroud)
parse_mode="Markdown":
粗体、斜体、_粗体和斜体_、双粗体、双斜体、双粗体和双斜体
parse_mode="Markdown V2":
粗体、斜体、粗体和斜体、双粗体、双斜体、双粗体和双斜体
在聊天中:
*粗体*、_斜体_、*_粗体和斜体_*、双粗体、双斜体、**双粗体和双斜体**
——
如何添加粗体和斜体,是否还有其他命令,例如下划线等?我需要一些解释。谢谢。
firebase ×2
.net ×1
android ×1
c# ×1
expo ×1
hook ×1
hotkeys ×1
javascript ×1
kotlin ×1
markdown ×1
python ×1
python-3.x ×1
react-native ×1
telegram-bot ×1