【问题标题】:"query is not a function" Next Js getServerSideprops and firebase error“查询不是函数” Next Js getServerSideprops 和 firebase 错误
【发布时间】:2022-01-29 20:05:25
【问题描述】:

我正在使用 NextJS 和 firebase 作为我目前正在为 NGO 构建的应用程序的主要数据库。我遇到了一个问题。

import {
  collection,
  where,
  query,
  getDocs
} from '@firebase/firestore';
import { db } from '../../../services/firebase';

export async function getServerSideProps({query}) {
  
  const user = await getDocs(query(collection(db, 'members'), where('id', '==', query)))
  return {
    props: {
      // VisionInfo: JSON.stringify(user.docs.map(item => item.data()))
      json: JSON.stringify('Hello')
    }
  };
}

在 serverSideProps 中从 NextJS 中的 URL 获取 Query 的唯一方法是使用关键字“query”,但使用相同的关键字来获取 firebase 文档。 错误显示“查询不是函数” 无论如何我可以让 Query 进入 serversideprops 吗?

【问题讨论】:

    标签: javascript firebase google-cloud-firestore next.js


    【解决方案1】:

    出现问题是因为您在 getServerSideProps 参数中也有 "query"。尝试从 Firestore SDK(或查询参数)命名导入,如下所示:

    import { query as fireQuery } from '@firebase/firestore';
    
    export async function getServerSideProps({query}) {
      const user = await getDocs(fireQuery(collection(db, 'members'), where('id', '==', query)))
      // use fireQuery here      ^^^
    })
    

    【讨论】:

      猜你喜欢
      • 2020-09-29
      • 1970-01-01
      • 2017-08-10
      • 2023-02-21
      • 2021-05-04
      • 2020-12-21
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多