检查Flutter中Firebase是否已初始化,如果初始化多次会发生什么?
检查Flutter中Firebase是否已初始化,如果初始化多次会发生什么?
场景:我有一个应用的三个屏幕,根据条件进行启动。一个屏幕是带有其他两个屏幕选项的按钮。\n在一个屏幕上,我正在初始化Firebase并进行数据获取等操作,一切都正常。 void startFirebase() async { await Firebase.initializeApp(); }
。然而,在第二个屏幕上,我进行了相同的初始化,但遇到了这个错误:No Firebase App \'[DEFAULT]\' has been created - call Firebase.initializeApp()
。\n问题:如何检查它是否已经初始化(检查是否在第一个屏幕上初始化并且在第二个屏幕上不会重新初始化),如果在两个屏幕上都初始化Firebase会发生什么,或者初始化两次会发生什么?\n根据第一个提供的答案进行更新:\n我不确定,但是调用两次初始化不会显示任何错误。以下是我尝试两次的方式:\n@override\n void initState() {\n startFirebase();\n try{\n startFirebase();\n }catch(e){\n print(e.toString());\n }\n super.initState();\n }\n//另一种方式:\n@override\n void initState() {\n startFirebase();\n startFirebase();\n/* try{\n startFirebase();\n }catch(e){\n print(e.toString());\n }*/\n super.initState();\n }\n
\n运行标签上没有错误,应用程序正常工作。