【发布时间】:2019-07-14 00:24:42
【问题描述】:
我使用Next.js' starter 创建了一个带有 Firebase 身份验证的应用,并设置了 Firebase 身份验证和数据库。我可以很好地运行应用程序(登录并添加消息)。
然后我注意到它不是对 Firebase 数据进行 SSR:
export default class Index extends Component {
static async getInitialProps({ req, query }) {
const user = req && req.session ? req.session.decodedToken : null;
// don't fetch anything from firebase if the user is not found
// const snap = user && await req.firebaseServer.database().ref('messages').once('value')
// const messages = snap && snap.val()
const messages = null;
return { user, messages };
}
我取消了代码的注释以查看是否可以对所有内容进行 SSR:
export default class Index extends Component {
static async getInitialProps({ req, query }) {
const user = req && req.session ? req.session.decodedToken : null;
// don't fetch anything from firebase if the user is not found
const snap =
user &&
(await req.firebaseServer
.database()
.ref("messages")
.once("value"));
const messages = snap && snap.val();
// const messages = null;
return { user, messages };
}
user 和 snap 有值,但 snap.val() 为空。
如何通过 firebaseServer 检索消息?
如果有任何帮助,here's the whole file。
【问题讨论】:
标签: javascript firebase firebase-realtime-database firebase-authentication next.js