我无法找到一种方法来使用 next.js 在服务器端和客户端获取 isAuthenticated 变量的常量值
我正在使用自定义 app.js 将应用程序包装在 Apollo Provider 中。我正在使用布局来显示用户是否经过身份验证。defaultPage 是一个 HOC 组件。
当页面位于服务器端时,isAuthenticated 设置为 true。但是,一旦我更改页面 - 这是客户端呈现(不重新加载) - isAuthenticated 一直保持未定义状态,直到我重新加载页面。
_app.js
import App from 'next/app';
import React from 'react';
import withData from '../lib/apollo';
import Layout from '../components/layout';
class MyApp extends App {
// static async getInitialProps({ Component, router, ctx }) {
// let pageProps = {};
// if (Component.getInitialProps) {
// pageProps = await Component.getInitialProps(ctx);
// }
// return { pageProps };
// }
render() {
const { …Run Code Online (Sandbox Code Playgroud) 这是我的实际代码:
each val, index in array
if (index%3 == 0)
.parent
.child
Run Code Online (Sandbox Code Playgroud)
或者这个:
each val, index in array
if (index%3 == 0)
.parent
.child
else
.child
Run Code Online (Sandbox Code Playgroud)
我想要的是,如果条件为真,则添加块父级 .row,当条件不为真时,在父级中添加子级。最终目标是拥有以下代码:
<div class='row'>
<div class='child'></div>
<div class='child'></div>
<div class='child'></div>
</div>
<div class='row'>
<div class='child'></div>
<div class='child'></div>
<div class='child'></div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是我目前使用实际代码的代码是:
<div class='row'></div>
<div class='child'></div>
<div class='child'></div>
<div class='child'></div>
<div class='row'></div>
<div class='child'></div>
<div class='child'></div>
<div class='child'></div>
Run Code Online (Sandbox Code Playgroud)
我尝试了许多不同的缩进,但没有任何效果,每次我在条件中写入父项时,块都会自动关闭,我不知道如何保持打开状态,或者重新打开它以将内容放入其中。