Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何迭代URL列表并使用useSWR钩子调用服务器_Reactjs_Typescript_React Hooks_Swr - Fatal编程技术网

Reactjs 如何迭代URL列表并使用useSWR钩子调用服务器

Reactjs 如何迭代URL列表并使用useSWR钩子调用服务器,reactjs,typescript,react-hooks,swr,Reactjs,Typescript,React Hooks,Swr,我正在开发一个ReactJS Web应用程序,遇到了一个问题。问题是我有一些JSON数据的URL数组,我想使用“useSWR”钩子从服务器获取所有这些JSON数据(以便获取的数据也被缓存)。现在的问题是,根据规则,我们不能在任何循环或块中使用挂钩 范例- 我所拥有的——[”http://someapi/a.json", "http://someapi/b.json", "http://someapi/c.json“] 我想做的是——迭代这个数组并使用useSWR钩子调用这些URL,这样我就有了一

我正在开发一个ReactJS Web应用程序,遇到了一个问题。问题是我有一些JSON数据的URL数组,我想使用“useSWR”钩子从服务器获取所有这些JSON数据(以便获取的数据也被缓存)。现在的问题是,根据规则,我们不能在任何循环或块中使用挂钩

范例-

  • 我所拥有的——[”http://someapi/a.json", "http://someapi/b.json", "http://someapi/c.json“]
  • 我想做的是——迭代这个数组并使用useSWR钩子调用这些URL,这样我就有了一个[JSON ObjectA,JSON ObjectB,JSON ObjectC]的列表
  • 为什么我尝试使用“useSWR”,因为我知道,这些数据在24小时内不会改变,我想缓存这些值

  • 有人能建议我如何迭代URL列表并使用useSWR hook调用服务器吗?是否有其他优化方法来解决此问题?非常感谢您提供的任何帮助或指导。

    我认为其中一个选项是使用url属性创建React FetchComponent,并在其中使用useSWR钩子。 以URL数量呈现组件。 大概是这样的:

    ["http://someapi/a.json", "http://someapi/b.json", "http://someapi/c.json"].map(url=><FetchComponent url={url}/>)
    
    [”http://someapi/a.json", "http://someapi/b.json", "http://someapi/c.json“].map(url=>)
    
    非常感谢您提供的解决方案,我将尝试此解决方案