小编Dan*_*gon的帖子

useSWR 不适用于异步获取器功能

我正在使用 SWR 获取数据来填充表。我正在使用以下代码:

const { data: items, error } = useSWR(fetchAllItems.name, fetchAllItems)
Run Code Online (Sandbox Code Playgroud)

fetcher 函数看起来像这样

async function fetchAllItems() {
  const response = await fetch('http://localhost:3000/items')
  const data = await response.json()
  return data
}
Run Code Online (Sandbox Code Playgroud)

该表还具有添加新项目的选项。创建新项目后,我调用 mutate 让 SWR 获取新数据。在开发模式下运行它时,一切都很好,但是当使用 next start 而不是 next dev 时,它不会获取数据。在网络选项卡中,它显示 0 个请求,因此看起来 fetcher 函数从未被调用。

获取数据的服务器运行正常。我已经使用邮递员对此进行了测试,它返回了所有项目。也可以从下一个应用程序访问它,因为创建新项目效果很好。

编辑:经过更多调试后,我将范围缩小到这样一个事实:当使用 next start 而不是 next dev 时,SWR 永远不会验证。

编辑2:可以在此处找到具有最小可重现示例的codesandbox https://codesandbox.io/s/elated-cherry-3ugqyi?file=/package.json。De Codesandbox 使用(调用下一个开发)运行程序npm run dev,因此一切正常。但是,当使用npm run build && npm run startuseSWR 运行它时,不再调用 fetcher 函数。

编辑3:我已经解决了这个问题,但不明白如何解决。我将 fetcher 函数更改为以下内容:

function fetchAllItems() …
Run Code Online (Sandbox Code Playgroud)

reactjs fetch-api next.js swr

8
推荐指数
1
解决办法
9728
查看次数

来自字节的图像(python)

我在 python 中有一个字节数组(从任意文本文件转换而来),并且想使用这些字节作为 RGB 值来存储在图像中。做这个的最好方式是什么?谢谢

python image

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

C 使用函数打开文件

我对 C 很陌生,我正在努力从我的 C 程序中写入文件。在这个程序中,我打开要读取的文件和要写入的文件,所以我想我会创建一个函数来为我打开文件。这就是我所做的

FILE *open_file(char* filename, char* mode)
{
    FILE *f;
    f = fopen(filename, mode);
    if(!f)
    {
        perror(filename)
        exit(EXIT_FAILLURE);
    }
    return f;
}
Run Code Online (Sandbox Code Playgroud)

这就是我调用函数的方式:

FILE *infile = open_file(args.infile_name, "r");
FILE *rm_file = open_file(args.rm_file, "r");
FILE *ex_file = open_file(args.ex_file, "w");
Run Code Online (Sandbox Code Playgroud)

这些函数调用遍布整个程序。首先我在那里硬编码了模式“r”,因为我只需要从文件中读取,但现在我也想为一个文件写,所以我为应该打开文件的模式设置了一个参数。之前它运行良好,但现在它什么也不做。我编译得很好,没有任何错误、警告和/或注释。valgrind 还告诉我一切都很好。对此有何想法?提前致谢。

编辑:我忘了添加返回 f 的行,我现在添加了它。它已经在我的代码中(当然,你不能让非 void 函数不返回任何内容)。

编辑:更好地解释“错误”:我试图从文件中读取单词并将它们存储在像数据结构这样的树中。这工作正常,我可以查找它们,所以这里没有问题。在向树中添加单词后,我会打印在文件中找到的单词数量以及添加到树中的单词数量(我不添加已经存在的单词)。现在我想将树导出到一个文件,所以我需要打开一个可以写入的文件。由于我使用只读方式对 open_file 进行了硬编码,因此我为该方式添加了一个参数。但是当我现在运行该程序时,它没有出现错误(因此文件指针不是 NULL),只是说在文件中找到 0 个单词并添加了 0 个单词。我打印的文件也保持为空。希望这让它更清楚一点

c file function

0
推荐指数
1
解决办法
6502
查看次数

标签 统计

c ×1

fetch-api ×1

file ×1

function ×1

image ×1

next.js ×1

python ×1

reactjs ×1

swr ×1