Keu*_*ark 7 javascript firebase typescript react-native
我无法getReactNativePersistence从firebase/auth. 我正在使用打字稿。
可以导入下面的函数,但是当我将 Firebase SDK 从 更新9.22.0为10.1.0.
import { getReactNativePersistence } from "firebase/auth/react-native";
Run Code Online (Sandbox Code Playgroud)
好像已经没有了firebase/auth/react-native。
我还尝试了以下代码,如文档所示,
import { getReactNativePersistence } from "firebase/auth";
Run Code Online (Sandbox Code Playgroud)
但它会抛出一个错误。
Module '"firebase/auth"' has no exported member 'getReactNativePersistence'.
Run Code Online (Sandbox Code Playgroud)
我使用的是 Expo,它默认使用 Metro。
这是我的metro.config.js
// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require('expo/metro-config');
module.exports = getDefaultConfig(__dirname);
Run Code Online (Sandbox Code Playgroud)
我怎样才能getReactNativePersistence导入firebase@10.1.0?
Ola*_*ayi 33
{
"compilerOptions": {
"paths": {
"@firebase/auth": ["./node_modules/@firebase/auth/dist/index.rn.d.ts"]
}
},
"extends": "expo/tsconfig.base"
}
Run Code Online (Sandbox Code Playgroud)
显然,这是一个打字稿问题。将上面的代码添加到您的 tsconfig.json 文件中。这个修复对我有用。
小智 10
我有同样的问题。临时解决方案是使用强制类型转换。
import * as firebaseAuth from 'firebase/auth';
const reactNativePersistence = (firebaseAuth as any).getReactNativePersistence;
// initialize auth
export const auth = initializeAuth(app, {
persistence: reactNativePersistence(AsyncStorage),
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4877 次 |
| 最近记录: |