我正在使用Firebase,包括身份验证,在我的React应用程序中使用Typescript。所以这是在一个 .tsx 文件中
像import UserCredential from 'firebase/auth'
一样进口
我正在尝试将用户凭据类型应用于我的函数参数,如下所示
const myCallback = (result: UserCredential) => { //function contents }
但是我收到错误"'用户凭据'引用一个值,但在此处用作类型">
但是,当我检查用户凭据的类型定义时,它被定义为一个类型。它怎么能"引用一个值",但显然是一个类型?我希望能够使用它来键入我的函数参数,以实现智能感知和一致性等。我确定我错过了一些东西 - 所以除非我能弄清楚出了什么问题,否则这个问题可能会继续出现。我怎样才能做到这一点?
使用firebase.User
解决了我的问题
import firebase from 'firebase'
const myCallback = (result: firebase.User) => {
// function contents
}
我希望它对你有用
好吧,我想我想通了。我不得不导入它并像这样使用它,
import { auth } from 'firebase';
const myCallback = (result: auth.UserCredential) => { //function contents }
您也可以只导入 Firebase 并使用 firebase.auth.UserCredential
以下有效(我正在使用 Compat firebase 库(:
// import
import firebase from "firebase/compat/app";
// use
userCredential: firebase.auth.UserCredential