小编Pol*_*lle的帖子

Firebase v9 Next.js 导出 getFirestore 导致错误“无法读取未定义的属性‘getProvider’”

import { initializeApp, getApps, getApp } from "@firebase/firestore";
import { getFirestore } from "@firebase/firestore";

const firebaseConfig = {
  ...config
};

export default function firebaseApp() {
  if (!getApps().length) {
    firebaseApp = initializeApp(firebaseConfig);
  } else {
    firebaseApp = getApp(firebaseConfig);
  }
}

export const db = getFirestore(firebaseConfig)
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我尝试将 getFirestore 导出为数据库。它在 CRA 中工作正常,但当我尝试在 Next.js 中执行此操作时,出现错误“无法读取未定义的属性‘getProvider’”。

我已经尝试了我能想到的一切:使用了yarn和npm,创建了多个项目,在另一个文件中导入了getFirestore。我不确定是什么原因造成的。

firebase next.js google-cloud-firestore

5
推荐指数
1
解决办法
3292
查看次数

Next.js 获取SSR中的用户数据

我很困惑如何让当前用户使用SSR来获取一些用户数据。

我一直在使用 context API 和 React,到目前为止它一直在工作,直到我需要 SSR 从 API 获取数据。我想获取当前用户 ID,这样我就可以获得存储在 Firestore 中的令牌。

Auth.js

export const AuthContext = createContext();

export function AuthProvider({ children }) {
  const [currentUser, setCurrentUser] = useState(null);

  useEffect(() => {
    onAuthStateChanged(auth, (user) => {
      setCurrentUser(user);
    });
  }, []);

  return (
    <AuthContext.Provider value={{ currentUser }}>
      {children}
    </AuthContext.Provider>
  );
}
Run Code Online (Sandbox Code Playgroud)

固态继电器

export async function getStaticProps() {
  const api = {
    auth: "token",
  };

  //fetch api

  return {
    props: {
      data,
    },
  };
}
Run Code Online (Sandbox Code Playgroud)

javascript firebase-authentication server-side-rendering next.js

2
推荐指数
1
解决办法
3114
查看次数