React - Axios 调用发出太多请求

2023-12-19

我通过制作游戏项目来学习 React 和 Redux。我想通过API获取数据(属性),但它导致太多请求。我猜它可以与直接在功能性反应组件中放置 axios 调用有关,但我不知道如何修复它。

function Attributes({ attributes, dispatch }) {
  axios.get(`/api/heroes/1/get-attributes`).then(res => {
    dispatch(AttribAction.set(objectToArray(res.data)));
  });

  return (
    <div className="content">
      {attributes.map((attrib, index) => (
        <div
          key={index}
          className={attrib.id == null ? "attrib-block empty" : "attrib-block"}
        >
          <p>
            <strong>{attrib.name}</strong>: {attrib.value}
          </p>
          <div>
            <button
              className="attrib-button"
              onClick={() => dispatch(AttribAction.increment(attrib.id))}
            >
              +
            </button>
            <button
              className="attrib-button"
              onClick={() => dispatch(AttribAction.decrement(attrib.id))}
            >
              -
            </button>
          </div>
        </div>
      ))}
    </div>
  );
}


将代码放入 useEffect 挂钩中,然后传入一个数组作为第二个参数,以指定哪些变量应使其在更改时重复效果。空数组表示永远不会重复它。

import React, { useEffect } from 'react';

function Attributes({ attributes, dispatch }) {
  useEffect({
   axios.get(`/api/heroes/1/get-attributes`)
     .then(res => {
       dispatch(AttribAction.set(objectToArray(res.data)));
     });
  }, []);

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

React - Axios 调用发出太多请求 的相关文章

  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 在 React 应用程序的 shell 脚本中设置环境变量

    我正在尝试在 powershell 和 bash 脚本中设置一些环境变量 并在 ReactJS 应用程序中读取它们 shell脚本很简单 env AUTHDOMAIN some domain com env AUTHCLIENTID bun
  • 在库的公共接口中使用 boost::shared_ptr

    我们有一个 C 库 提供给多个不同的客户 最近 我们从在公共接口中使用原始指针改为使用 boost sharedptr 正如您可能猜到的那样 这提供了巨大的好处 因为现在客户不再需要担心谁需要删除什么以及何时删除 当我们进行切换时 我相信这
  • 获取 2 个字母的州/省缩写

    因此 我使用 GeoNames API 获取国家 地区和州 省信息 并使用这些信息填充表单中的选择下拉列表 此表单将其信息提交给 SOAP Web 服务 并且 SOAP 服务器仅理解 2 个字母形式的国家 地区和州 省数据 IE CA 代表
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • 如何使用角度材料在具有可扩展行的表格中创建嵌套垫表

    我有以下数据 id c9d5ab1a subdomain wing domain aircraft part id c9d5ab1a info mimetype application json info dependent parent
  • 计算三次贝塞尔曲线的弧长、曲线长度。为什么不工作?

    我正在用这个算法计算弧长 三次贝塞尔曲线的长度 function getArcLength path var STEPS 1000 gt precision var t 1 STEPS var aX 0 var aY 0 var bX 0
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 如何从 Chrome React Dev Tools 打开 VS code 中的组件文件?

    是否可以右键单击 React Dev 工具下可见的组件 然后单击 在 IDE 中显示 从而在 VSCode 中打开该文件 这将是有益的 因为我不必去寻找该组件 我经常想在 VS Code 中查看某个组件的源代码 但由于组件的模块化复用 代码
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • 创建反应应用程序:npm 错误!解析“...”附近时 JSON 输入意外结束

    描述错误 npx create react app my app不适合我 我试过npm cache clean force但我一次又一次地遇到同样的错误 重现步骤 npm cache clean force npm npx create r
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • React 键“mods”的切片缩减器在初始化期间返回未定义。 (还原)

    减速器 index js import combineReducers from redux import mods from mods js export default combineReducers lt error comes fr
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo

随机推荐

  • UTF-8 服务器编码会在 ASP.NET 站点上产生 � 字符

    我正在运行 ASP NET WebForms博客引擎 http dotnetblogengine net 网站 maxpavlov com 我的博客上主要用俄语写作 有时 即使我正在写一个完全正常的俄语字符 当我查看生成的渲染博客文章页面时
  • BufferedImage颜色饱和度

    我正在编写一个简单的扫描应用程序自由精神 https github com sjamesr jfreesane and 阿帕奇PDFBox https pdfbox apache org 这是扫描码 InetAddress address
  • 与 QB 桌面产品集成

    几年前 我编写了一个 QB 集成 它使用 Web 连接器在 QB 桌面产品中读取和写入数据 它运行良好 但我不喜欢 Web Connector 我的任务是建立另一个 QB 集成 我希望这次避免使用 Web Connector 我尝试避免使用
  • 如何显示六边形填充颜色的图例?

    我正在 ggplot2 中绘制十六进制图 出现的图例是关于六边形的填充 计数 而不是关于六边形实际热缩放的内容 预测 我如何摆脱计数的图例 但让它显示实际热缩放的内容 预测 这是我的代码和我所指内容的图片 FF1xBARHH lt ggpl
  • Google Cloud Pub/Sub 推送消息 - 空 POST

    我目前已在Google云平台中成功设置主题和订阅 并已通过Google验证了我的网站并将域添加到GCP 每当我尝试从以下位置发送测试消息时https console cloud google com cloudpubsub topics s
  • 无法让小网格线出现在 matplotlib 图中

    好的 我有下面的代码 用于实时绘制通过串行接收的嵌入式设备的一些数据 它并不是一个生产工具 而是一个内部工程工具 因此它不是非常用户友好 问题是 无论我做什么 我都无法让小网格线出现 即使这里它们被设置为True which both 我可
  • 聚合管道和索引

    From http docs mongodb org manual core indexes multikey indexes http docs mongodb org manual core indexes multikey index
  • 如何在 Java 中从原始 byte[] 创建 BMP 文件

    我有一个 C 应用程序 它与相机通信并获取原始图像数据 然后我有一个 C 中的 Byte 我想用 JNI 将其发送到 Java 但是 我需要将原始 Byte 转换为真实的文件格式 bmp 是我的第一选择 如果我使用 BITMAPFILEIN
  • 从R中的循环返回单独的txt文件

    我想返回循环中每次迭代的结果 并将其写入单独的文本文件中 但由于某种原因 它似乎不起作用 我的代码是 for i in length traject player lt subset traject i subset dt 1 test l
  • 哪种排序方法最适合并行处理?

    我现在正在查看我以前的学校作业 想找到问题的答案 哪种排序方法最适合并行处理 冒泡排序 快速排序 归并排序 选择排序 我想快速排序 或合并排序 就是答案 我对么 与合并排序一样 快速排序由于其分而治之的性质也可以轻松并行化 单独的就地分区操
  • 通过 List 发布多个文件

    我只想通过模型将多个文件发布到控制器 class myModel public List
  • Android MediaPlayer 未从prepareAsync 返回

    我在使用特定 URI 启动 MediaPlayer 的 Logcat 中得到以下信息 通常 每个 Uri 无论好坏 都会播放或返回错误 除了这个特定的 Uri I MPS PrepAsync started V MediaPlayer me
  • 如何在 F# 中编写函子在 OCaml 中执行的操作的代码?

    我有很多用 OCaml 编写的程序 其中一些使用函子 现在 我正在考虑用 F 编写和重写部分代码 以受益于 OCaml 不具备的一些优点 我担心的一件事是在 F 中编写函子在 OCaml 中执行的操作的代码 例如 我们如何模仿这个例子来自
  • 在 PHP 开关中使用 strstr

    我只是想不出代码 我有太多 if 语句 我想将其更改为 switch 语句 但我找不到逻辑 目前我有 if strstr var texttosearch echo string contains texttosearch if strst
  • org.h2.jdbc.JdbcSQLException:未找到列“ID”

    我的代码中有以下 DDL CREATE TABLE IF NOT EXISTS SOMETABLE id BIGINT AUTO INCREMENT NOT NULL FOREIGN KEY id REFERENCES OTHERTABLE
  • Javascript (MVC) 从数据库加载图像(字节数组)

    Stack 上有很多这个问题的答案 但没有一个对我有用 我需要通过对控制器的 ajax 调用检索字节数组 在 javascript 中设置图像标签的 src 属性 我必须在客户端执行此操作 因为我正在动态构建一些 html 在下面的简单示例
  • 如何在 ASP.Net 中转储响应标头

    我正在使用 VSTS 2008 C Net 3 5 来开发 ASP Net 我想转储特定 aspx 文件返回给客户端的所有响应标头 有什么想法可以轻松做到这一点吗 我知道如何使用 Response Headers 集合 但我的困惑是在哪里枚
  • 如何告诉屏幕阅读器链接已禁用?

    我有一个页面n部分 这些部分是隐藏的 只能通过单击各自的链接来显示 页面加载时 只有第一个链接处于活动状态 其余 n 1 个链接处于活动状态href 基于某种逻辑 其他链接被单独激活 如何让屏幕阅读器理解该链接是disabled or 停用
  • Handsontable:隐藏一些列而不更改数据数组/对象

    我有一个数据要在网格中显示 我正在使用 Handsontable 来显示数据 每个第三列都计算为前两列的差值 例如 第三列渲染为第一列和第二列的总和 这是由自定义渲染器通过取总和来完成的i 1 and i 2列 这是我的 差异 列的自定义渲
  • React - Axios 调用发出太多请求

    我通过制作游戏项目来学习 React 和 Redux 我想通过API获取数据 属性 但它导致太多请求 我猜它可以与直接在功能性反应组件中放置 axios 调用有关 但我不知道如何修复它 function Attributes attribu