小编Car*_*s G的帖子

如何在 Nextjs 布局中使用Context hook

我正在使用 NextJS 构建一个应用程序。我的应用程序显示帖子列表,用户能够从 AZ 或 ZA 对列表进行排序,并在每页显示特定数量的帖子(10,20 等)。当用户单击帖子访问该特定帖子页面,然后返回主列表时,排序和分页首选项将被重置,我设法使用 cookie 保留保留的值,但我想改用useContext()。对于这个应用程序,我有一个Layout.js文件,并且认为这是插入我的文件的正确位置,Provider如下所示:

import React, {useState} from 'react';
import Navbar from './Navbar';
import Head from 'next/head';
import {SortingContext} from './UseContext';

const Layout = (props)=> {
  const [value, setValue] = useState('hello');

  return (<SortingContext.Provider value={{value, setValue}}>
            <div>
                <Head>
                  <title>MyApp</title>
                </Head>
                <Navbar/>
                {props.children}
            </div>
            </SortingContext.Provider>
        )};
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从我的其中一个页面获取价值时,我得到了TypeError: Cannot read property 'value' of null

useContext在应用程序的其他地方使用,所以我知道我可以让它工作。我只是不知道将其放在 NextJS 应用程序中的何处,因此即使我访问不同的页面,该值也会保留。

这是我的 index.js,我试图在其中打印值:

import React, { useState, useEffect, useContext } from 'react'; …
Run Code Online (Sandbox Code Playgroud)

reactjs next.js react-hooks use-context

9
推荐指数
1
解决办法
3万
查看次数

我无法使用 plesk 启动我的 NextJS js 应用程序

我正在尝试使用 Plesk 在我的 Node 服务器上启动 NextJS 应用程序,但它不起作用。我为我的 Plesk 环境激活了 NodeJS,并且能够运行 npm install 和 npm build,但是现在,当我尝试启动应用程序时,Plesk 只显示“请稍候”并保持原样,没有任何变化,我一直在等待现在已经两个多小时了,但我没有得到任何结果,没有错误,什么也没有。

我能想到的唯一问题是,根据我所能找到的,应用程序启动文件和 package.json 文件应该位于同一目录(根文件夹)中,但在我的情况下这是不可能的。我的 package.json 位于根目录中,但 NextJS 的启动文件 index.js 位于 Pages 文件夹内。我测试了在本地构建和启动应用程序,一切正常,我不明白为什么它不能与 Plesk 一起使用。

mediatemple plesk node.js next.js

4
推荐指数
1
解决办法
6198
查看次数

如何访问古腾堡内部块的值?

我正在尝试为古腾堡构建一个自定义块。它是一个轮播并使用子块(图像)。我正在尝试找到一种方法来找出在块内部创建了多少图像块,以便我可以相应地为轮播创建幻灯片。

为了做到这一点,我正在考虑从每个图像块中获取图像 url 并将其存储在一个数组中,这样我就可以映射该数组来创建每张幻灯片,但我不知道如何访问 url 值子块。

有任何想法吗?

wordpress-gutenberg gutenberg-blocks

3
推荐指数
1
解决办法
4345
查看次数