用户的 Firebase v8 Typescript 定义导入

Dav*_*sco 10 firebase typescript

在以前版本的 Firebase 中,我使用以下方式导入 Typescript 定义User

import {User} from 'firebase';
Run Code Online (Sandbox Code Playgroud)

在引入v8之后,此导入不再起作用:

模块“../../../../node_modules/firebase”没有导出成员“用户”。您的意思是使用“从“../../../../node_modules/firebase”导入用户吗?

发行说明点的事实CJS束被放弃了,但是,并没有提及如何进口,现在应该解决。

任何帮助表示赞赏,在此先感谢您。

ken*_*ken 19

对于V9.0.0(Web版本9(模块化),这可以通过

// make alias for greater readability
import { User as FirebaseUser } from "firebase/auth";
Run Code Online (Sandbox Code Playgroud)

然后你可以通过以下方式使用它:

// here direct use the type inside a hooks 
const [user, setUser] = useState<FirebaseUser | null>(null)
Run Code Online (Sandbox Code Playgroud)


Dou*_*son 8

你可以这样说:

import firebase from "firebase/app"
const user: firebase.User = ...
Run Code Online (Sandbox Code Playgroud)

或者,如果您想缩写它:

import firebase from "firebase/app"
type User = firebase.User
const user: User = ...
Run Code Online (Sandbox Code Playgroud)


Dav*_*sco 6

我在导入UserFirebase JS SDK v8.0.0时解决了我的问题,如下所示:

import {User} from '@firebase/auth-types';
Run Code Online (Sandbox Code Playgroud)