如何修复React中的map is not a function错误?

2023-12-07

我遇到错误"map" is not a function进行 API 调用时。我不久前才开始学习 React 和 API。我尝试将状态更改为对象,但未定义,因为[].
我得到的地图不是一个函数。也许我缺少调用 API 的东西。这是下面的代码


function Facility() {
  
  const [facility, setFacility] = useState([]);

 try {
      const fetch = await Axios.get(
        //API
      )
      //setFacility(fetch.data);
    console.log('result', fetch.data);
    } catch (err) {
      console.log(err);
    }
  };


  return (      
        <Table  >
          <TableHead>
            <TableRow>
              <TableCell />
              <TableCell >
                Facility Code
              </TableCell>
              <TableCell >
                Facility Name
              
            </TableRow>
          </TableHead>
          <TableBody>
            {facility.map((item, idx) => {
              return (
                <>
                  <TableRow
                    key={idx}
                  >
                   
                    <TableCell >
                      {item.facility_code}
                    </TableCell>
                    <TableCell>{item.facility_name}</TableCell>
                   
                  </TableRow>
                 
                </>
              );
            })}
          </TableBody>
        </Table>
    
   
  );
}

export default Facility;

从下面的API返回的数据

{
    "data": [
        {
            "facility_code": 148312,
            "facility_name": "Phc Marit",
        },
        {
            "facility_code": 767529,
            "facility_name": "FPL",       
        },   
    ]
}

我正在尝试使用material-ui 表映射来自API 的数据,但我得到facility.map 不是一个函数。请帮助我解决此实施问题。


我在codesandbox上创建了这个例子:https://codesandbox.io/s/hardcore-joana-xfybt?file=/src/App.js

有很多事情可能会出错。

首先,在使用地图之前,您必须验证是否有数据。所以你可以这样做:

Step 1:

所以,首先改变:

{facility.map((item, idx) => {

to this:

{facility && facility.map && facility.map((item, idx) => {

Step 2:

另外,请考虑您如何接收答案,通常是通过 axios。因为axios回报response。如果你。想要访问响应的正文是response.data,如果你的身体也有数据。也许你需要做类似的事情:fetch.data.data

(查看getData函数)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复React中的map is not a function错误? 的相关文章

随机推荐

  • Oracle SQL - 回合 - 半场

    Oracle ROUND 函数默认 向上舍入 select 3 674 my number round 3 674 2 round on number from dual union select 3 675 my number round
  • Excel VBA 中 ExportAsFixedFormat 的 PDF 输出大小错误

    我使用 Excel 2010 和 VBA 我有以下代码 mySh PageSetup PaperSize xlPaperLetter mySh ExportAsFixedFormat Type xlTypePDF Filename file
  • 如何修复“ConnectionString 属性尚未初始化”

    当我开始我的应用程序时 我得到 ConnectionString 属性尚未初始化 网页配置
  • Phonegap Build:将图像下载到应用程序的文件夹之一

    如果我直接指定路径 我就可以下载图像 文件 存储 sdcard0 如何将图像保存到应用程序中的文件夹之一 我试过this设置应用程序路径的方法 但它对我不起作用 这是我到目前为止所使用的 如果您想将图像保存到 SD 卡 它可以工作 var
  • 有没有一种惯用的方法来缓存 Spark 数据帧?

    我有一个大型镶木地板数据集 正在使用 Spark 读取 读取后 我会筛选行的子集 这些行在应用不同转换的许多函数中使用 以下与我想要完成的逻辑相似但不完全逻辑 df spark read parquet file special rows
  • 强制/保护 POST 参数

    我的标题可能含糊不清 所以请检查下面我的情况 我有一个网络应用程序来管理员工列表 该应用程序采用中心辐射模式设置 单击员工列表中的员工会重定向到一个新窗口 显示所选员工的个人详细信息以进行可能的更新 该应用程序使用 HTTPS 通过 GET
  • 如何使用 Oauth2 使 API Gateway 的身份验证/授权过程无状态?

    在我的设计中 我有一个API网关 spring cloud api gateway 授权服务器 Oauth2 和资源服务器 微服务 我还有一个 CAS 服务器 但现在为了简单起见可以忽略它 我只是想使用API 网关来重定向客户端请求 如果用
  • SQL 查找和替换字符串的一部分

    我试图在字符串中找到某些文本 catid 18 其中除此之外每个字符串都不同 我之前在下面使用过这个查询 但它似乎只有在您知道整个字符串的情况下才有效 update TABLE NAME set FIELD NAME replace FIE
  • Python:TIFFReadDirectory 警告:带有标签的未知字段

    problem 我可以使用以下命令加载图片Image kivy 中的模块 This这就是我如何安装 kivy 以便我可以查看 TIFF 文件 但现在每次加载 TIFF 图像时 我都会收到一个又一个弹出警告 从而中断程序 TIFFReadDi
  • MVC 3 ninject 自定义成员资格上下文处置错误

    我有一个自定义成员资格 它使用我的 CustomerService 首先使用 EF 代码 4 1 与数据库进行通信 我使用 ninject 将 CustomerService 注入到我的自定义会员资格类中 但是当我尝试验证时 我收到上下文处
  • 嵌套类与单独的类文件

    至少在java中 我的编译器不允许我将两个 或更多 单独的类放在一个类文件中 它迫使我在同一个包中创建多个文件 我明白这是为什么 我也同意这个原则 但是 我意识到我可以轻松地嵌套类并将整个程序 不包括导入的库 包含在单个文件中 我想这会被人
  • 转换为 Dalvik 格式失败 facebook/AccessToken$SerializationProxyV1

    这是我的日志 2013 02 09 19 48 50 Dex Loader Unable to execute dex Multiple dex files define Lcom facebook AccessToken Serializ
  • 是否可以将相同的 DLL 添加两次到 AppDomain 中,或者最好重新使用加载的 DLLC?

    我的应用程序在应用程序执行期间多次加载相同的 DLL AssemblyName assemblyName AssemblyName GetAssemblyName plugin FullPathToDLLFile loadedPlugin
  • 使用 Write-Host 时输出中出现不必要的空间

    当我使用Write Host在一个Foreach Object 我在输出中得到了不必要的空格 write host http contoso com personal ADUserName Output http contoso com p
  • 自定义多色进度条

    我的应用程序要求是自定义进度条 具有多色指示的自定义进度 例如 小于 30 的进度用绿色显示 小于 60 和大于 30 的进度用黄色显示 最后从 60 到 100 的进度用红色显示 我想要这样的进度条 http www android2fr
  • Cesium - 使用相机缩放多边形以在放大/缩小时匹配经纬度位置

    我正在努力解决相机功能 我认为 可以提供一种方法强制我的多边形粘在我房子的顶部缩小 放大和旋转 或相机移动 这个问题遵循较早的question问题已解决 现在我需要一点帮助来解决我的下一个问题 我试图遵循的示例代码位于黄金标准似乎已融入现有
  • 使用 create-react-app 的多个入口点

    我的页面包含 20 的 React 组件和 80 的普通 html 内容 有必要在页面的不同位置放置多个React组件 因此我需要在index html中使用多个入口点 我想使用create react app 但我不想使用redux 因为
  • Magento - 在管理中不可见/不可编辑的产品属性

    是否可以通过代码 或手动 创建通过管理编辑产品页面不可见 因此不可编辑 的产品属性 如何 该属性只需要在php模块中使用 保存 加载 对的 这是可能的 如果您在安装脚本中执行此操作 您应该设置 visible 为假 installer gt
  • 如何建立友谊关系模型

    我一直在试图弄清楚如何做到这一点 即使查看其他示例 我也无法弄清楚 所以也许我可以获得一些个性化的帮助 我有两张桌子users status and friendships In the users status表我有一个字段userid
  • 如何修复React中的map is not a function错误?

    我遇到错误 map is not a function进行 API 调用时 我不久前才开始学习 React 和 API 我尝试将状态更改为对象 但未定义 因为 我得到的地图不是一个函数 也许我缺少调用 API 的东西 这是下面的代码 fun