Javascript 来自导入函数的未定义值
我试图从另一个JS“helper”文件中获取真/假值,我有一些函数,但是当我试图从该函数中获取返回值时,得到的只是“未定义”Javascript 来自导入函数的未定义值,javascript,reactjs,firebase,Javascript,Reactjs,Firebase,我试图从另一个JS“helper”文件中获取真/假值,我有一些函数,但是当我试图从该函数中获取返回值时,得到的只是“未定义” console.log返回undefined,但是当我调用例如signOut或isUserLogged时,我在这些函数中添加了console.log而不是return,我可以在控制台中看到答案。尝试以下操作:将isUserLogged函数替换为: export function isUserLogged(){ return firebase.auth().onAu
console.log返回undefined,但是当我调用例如signOut或isUserLogged时,我在这些函数中添加了console.log而不是return,我可以在控制台中看到答案。尝试以下操作:将isUserLogged函数替换为:
export function isUserLogged(){
return firebase.auth().onAuthStateChanged(user => !!user);
}
问题在于
firebase.auth().onAuthStateChanged
是异步的
您可以执行以下操作:
//LoginView.jsx
class Login extends React.Component {
state = {
toDashboard: false,
}
componentDidMount = async () => {
await firebase.auth().onAuthStateChanged(user => {
if (user) {
...logged-in
} else {
...logged-out
}
})
}
isUserLogged
函数没有返回值,这就是为什么为console.log(isUserLogged())打印undefined
代码>谢谢,先生,我试过了,但没有成功:(感谢您的时间,我将使用Yossi给我的例子,我很高兴:)
//LoginView.jsx
class Login extends React.Component {
state = {
toDashboard: false,
}
componentDidMount = async () => {
await firebase.auth().onAuthStateChanged(user => {
if (user) {
...logged-in
} else {
...logged-out
}
})
}