类型错误:func.apply 不是函数

2024-03-18

我正在尝试使用 useEffect 函数,如下所示:

    const [data, setData] = useState({ courses: [] });
    
    useEffect(async () => {
        const result = await axios.get(
            "http://example.com/api/v1/categories/"
        );
    
        await setData(result.data);
    }, []);
    
    console.log(data);

return (
    <div>
        <div>{data.info1}</div>
        <div>{data.info2}</div>
        <div>{data.info3}</div>
        <div>{data.info4}</div>
    </div>
);

但是当我尝试使用data变量有时会引发此错误:

TypeError: func.apply is not a function
HTMLUnknownElement.callCallback
C:/asdasd/node_modules/react-dom/cjs/react-dom.development.js:188
  185 |     window.event = windowEvent;
  186 |   }
  187 | 
> 188 |   func.apply(context, funcArgs);
      | ^  189 |   didError = false;
  190 | } // Create a global error event handler. We use this to capture the value
  191 | // that was thrown. It's possible that this error handler will fire more

我不知道,我想念哪里。


You 只能将普通函数作为参数传递给 useEffect,而不是异步函数。为了在 useEffect 中使用 async wait,您可以将函数编写为 IIFE(立即调用函数表达式 - 您编写函数并立即调用它)。

const [data, setData] = useState({ courses: [] });
    
useEffect(() => {
    (async () => {
        const result = await axios.get(
            "http://example.com/api/v1/categories/"
        );
        setData(result.data);
    })();
}, []);
    
console.log(data);

return (
    <div>
        <div>{data.info1}</div>
        <div>{data.info2}</div>
        <div>{data.info3}</div>
        <div>{data.info4}</div>
    </div>
);

或者您可以创建一个普通的命名异步函数,然后按如下方式调用它,

const [data, setData] = useState({ courses: [] });
    
useEffect(() => {
    const getResult = async () => {
        const result = await axios.get(
            "http://example.com/api/v1/categories/"
        );
        setData(result.data);
    };

    getResult();
}, []);

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

类型错误:func.apply 不是函数 的相关文章

  • 在 onclick 事件上请求麦克风

    有一天 我偶然发现了这个 Javascript 录音机的例子 http webaudiodemos appspot com AudioRecorder index html http webaudiodemos appspot com Au
  • Dialogflow Fulfillment Webhook 调用失败

    I am new to dialogflow fulfillment and I am trying to retrieve news from news API based on user questions I followed doc
  • 在自动完成上添加 jQuery 延迟

    我正在尝试为应用程序创建 jQuery 自动完成 search input on keyup function search this val autocomplete div autocomplete get ajax search se
  • 角度垫排序不适用于带点表示法的 matColumnDef

    我正在尝试按列对表进行排序 当我必须过滤另一个结果中的结果时 就会出现问题 我尝试通过括号表示法和点表示法访问该属性 但没有给出结果 还将最终节点放置在 matColumnDef 中 但失败 因为有 2 列同名 table table
  • 从对象中取出具有无效(NaN、空白等)值的键的最佳方法?

    我有一个供用户填写的简短搜索表单 将有多个搜索查询进入 MongoDB 该表单创建一个名为的变量searchParams可能看起来像这样 var searchParams city Springfield bedrooms 3 bathro
  • 如何设置必须输入特定数字的字段?

    我想知道如何创建一个需要输入特定数字或文本的字段 例如 激活码 以及在输入的确认答案的情况下移动到 网页 并且在未确认的情况下移动到 另一页面 的按钮 使用必需的属性
  • Node.js Express 4.0 中的 res.render 回调参数的用途是什么?

    目的是什么res render回调参数 在什么情况下 由于模板已被指定为第一个参数 因此人们会想要使用这样的回调参数 这是文档中的代码 send the rendered view to the client res render inde
  • Rangy:插入符号下的单词(再次)

    我正在尝试创建一个预输入代码以添加到 wysihtml5 富文本编辑器 基本上 我需要能够插入人员 标签引用 例如 Twitter Github Facebook 我发现一些人试图实现同样的事情的代码 http jsfiddle net A
  • 如何包装内在组件,保留大部分 Props?

    我想用我自己的 React 功能组件包装一个标准按钮 但我希望新组件的用户能够设置 几乎所有底层按钮的道具 当然 我想保持正确的打字 所以如果 WrappedButton 包含一个button then
  • 冒泡可用于图像加载事件吗?

    我可以用吗 window addEventListner 某种程度上来说 我所有的图像都有一个display none 图像加载后 我想设置display inline 这样我就可以规范下载图像时显示的内容 在这种情况下 我无法预加载图像
  • 如何在具有相同值的下拉菜单上触发 jQuery 更改事件

    即使用户选择相同的值 如何每次都触发 jQuery 更改事件 我需要刷新效果 例如如果用户选择Lawyer它会发出警报hello然后用户再次选择Lawyer从下拉菜单中 它应该发出警报hello 我怎样才能实现它 以下是代码 jQuery
  • 如何根据另一个下拉列表中的选择动态填充下拉列表中的选项?

    我有一个表 其中包含类别信息 例如产品 我已将它们列在下拉菜单中 现在 我需要做的是 在下一个下拉菜单中列出所选类别的子类别 我希望 javascript 是必需的 但我对 javascript 还不太熟悉 将非常感谢您的帮助 你应该使用
  • JSONP 使用 JQuery 从 HTTPS 协议获取 JSON

    我正在尝试获取从 https 安全站点发送的 JSON 客户端希望不要使用任何服务器端语言 全部都是 Javascript 我读到 当使用 Jquery 中的 ajax 函数时 我必须使用 JSONP 才能从安全站点加载 JSON 我的第一
  • Riak 在 MapReduce 查询中失败。使用哪种配置?

    我正在与 riak riak js 结合开发一个 nodejs 应用程序 并遇到以下问题 运行此请求 db mapreduce add logs run 正确返回存储在存储桶日志中的所有 155 000 个项目及其 ID logs 1GXt
  • D3 向对象添加超链接?

    我正在尝试制作 D3 图 它将代表我网站的菜单 我尝试按照此处的其他指南添加超链接 但它们都不起作用 每个对象都会有一个不同的 URL 指向 主页 关于 联系方式等 如果添加超链接 我可以拖动对象吗 这意味着如果我按住单击 如果我单击该对象
  • AngularStrap 工具提示禁用我的自定义指令

    我正在尝试让 bs tooltip AngularStrap 指令与我自己的名为 checkStrength 的自定义指令一起使用 该指令检查密码的强度 单独使用这些指令中的任何一个时 它们都可以正常工作 但不能一起工作 This http
  • Angularjs : $locationProvider.hashPrefix("!") ;

    我想将网址显示为 www test com 因为我正在使用 locationProvider hashPrefix 但它显示网址为 www test com 我想 哈希之前而不是哈希之后 Thanks var app angular mod
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • Vue-Router 抽象父路由

    我正在尝试将当前网站迁移到 vuejs 站点地图必须是 login signup password reset browse search dozens of other routes 由于其中一些路线共享大量 fx 因此我将它们设为父路线
  • 使圆圈与 d3.js 上的多线匹配相同的颜色过滤?

    我有一个多线图 当按每种水果过滤时会更新 每条线条颜色对应不同的销售年份 在 的帮助下Shashank https stackoverflow com users 5569282 shashank 每个数据点线上的圆圈已添加到组中 而不是直

随机推荐

  • 如何仅删除父表中由子表中的外键引用的行

    我想从父表中删除行 元组 但它抛出错误消息 因为它的子表中有外键引用 但是 就我而言 我想仅删除父表中的记录并保留子表中的数据 有可能实现这一目标吗 我知道的用法ON DELETE CASCADE https stackoverflow c
  • ExtJS“日期字段”验证覆盖

    我需要一个具有一些自定义行为的日期列 特别是我需要能够在同一字段中输入日期或年龄 年龄保持呈现为年龄 日期保持呈现为日期 例如 输入 23 将使 23 在字段中保留为有效值 或者输入 22 1 88 将使 22 1 88 保留为有效值 所以
  • 在第一行有 rowspan 的情况下,在表格的第一行设置 css 样式

    我有很多表 想要在表的第一行设置 css 样式 前提是第一行有行跨度 table tbody tr td width 110 Name td td width 110 Size td td width 110 Status td tr tr
  • Vega-Lite 中的平行坐标?

    是否可以创建平行坐标维加精简版 https vega github io vega lite 我正在寻找一个简单但功能强大的 JavaScript 绘图库 并且需要支持平行坐标 I have googled https www google
  • 如何使用 PHP 将 RSS XML 提要转换为数组

    我希望标题代表全部 如何使用 PHP 将 RSS XML 提要转换为数组 如何才能做到这一点 例如 我正在使用以下网址 这导致了 XML 模式 我需要使用 PHP 将其转换为数组格式 任何帮助将不胜感激和感激 提前致谢 一步步 How to
  • 如何在没有 web.xml 的情况下将 App Engine 项目更新到 Java 11?

    我有一个应用程序引擎项目 Here https github com KevinWorkman GoogleCloudExamples tree master hello world是一个示例存储库 但它只包含几个文件 pom xml
  • viewWillAppear 子视图

    我有 UIScrollView 与多个 UIVIew 子视图 我想更新每个 UIView 显示在 UIScrollView 的可见部分中时显示的数据 触发的回调是什么 我尝试了 viewWillAppear 但似乎没有被调用 谢谢 你必须自
  • XQuery 中的 element() 与 node()

    有人可以告诉我两者之间的确切区别吗node and element XQuery 中的类型 该文档指出element 是一个元素节点 而node 是任何节点 所以如果我理解正确的话element 是一个子集node 问题是我有一个像这样的
  • 如何覆盖 Qwik 中的默认 404 屏幕?

    我正在测试 Builder IO 中的 Qwik Javascript 框架 但找不到任何文档可以指导我自定义 404 页面的方向 我正在使用 Qwik 的 qwik city 插件 核实 这是关于如何渲染404页面的 https qwik
  • 查找到另一组任意点的范围内的所有点

    我有两组点A and B 我想找到所有点B是在一定范围内的r to A 其中一点b in B据说在范围内r to A如果至少有一个点a in A其 欧几里得 距离b等于或小于r 两组点中的每一个都是连贯的点集 它们是根据两个不重叠对象的体素
  • 无法获得多视图控制来更改视图

    我有一个多视图控件 有两个视图 View1 是默认视图 View2 是新视图 当最终用户单击按钮时 我想将视图更改为 View2 无论如何我似乎都无法实现这一目标 ASP NET 代码
  • python/pycharm项目在调试模式下产生分段错误,但在运行模式下不会产生分段错误

    奇怪的是 在调试模式下 如果脚本在通常会发生段错误 没有断点 的地方停止 通过断点 然后恢复 则不会发生段错误 很奇怪吧 本项目使用pycharm和pygame 操作系统是 windows 10 该项目包含跨 8 个模块的约 1500 行代
  • 如何在 Qt 应用程序中使用样式表更改 QPushButton 图标大小

    是否可以使用样式表设置和更改 QPushButton 上的图标大小 我需要这个基于 qt 的模板 客户可以使用样式表对其进行样式化 在样式表中使用以下代码 qproperty iconSize 24px
  • 如何将 SQL 大容量复制与 Dapper .Net 结合使用?

    我正在使用 Dapper net 在 SQL 表中进行批量插入操作 我正在考虑使用 SQKBulk Copy 与 Dapper Net 但没有任何经验如何将 SqlbulkCopy 与 Dapper Net 一起使用 非常感谢你的帮助 使用
  • Windows 7 和 Windows Server 2008 R2 之间的差异

    Windows 7 或 Windows Server 2008 R2 中包含某些功能和 API 但另一个则不包含 在哪里可以找到差异的具体列表 如果程序要兼容两者 有什么需要特别避免的吗 当然 这个问题可以推广到任何版本的 Windows
  • Sapper/Svelte 可以有条件地导入组件吗?

    在 Sapper 中 我仅在客户端渲染时才尝试导入组件 使用onMount 有没有类似React的东西Suspense and React lazy 或者还有其他方法吗 你当然可以这样做 是的
  • Cordova 应用程序 - 构建工具错误 - Gradle

    我有一个科尔多瓦应用程序 重装系统后无法编译 我遇到了错误 Error No installed build tools found Please install the Android build tools version 19 1 0
  • 如何在 Tensorflow 的图形管道中解码 Unicode 字符串

    我创建了一个 tfRecord 文件来存储数据 我必须存储印地语文本 因此我使用 string encode utf 8 将其保存在字节中 但是 我在读取数据时陷入困境 我正在张量流数据集 API 的帮助下读取数据 我知道我可以使用 str
  • 正确的代码流程:调度动作并阻止,或者如果调度它们则提前验证?

    这是我前端开发自学一年后在Stackoverflow上的第一个问题 我已经为我的疑问找到了答案 但由于这些问题第三次出现 我认为现在是向网络提问的时候了 我正在尝试构建什么 我正在尝试建立一个图书馆服务 访客用户可以登录 预订书籍 添加到愿
  • 类型错误:func.apply 不是函数

    我正在尝试使用 useEffect 函数 如下所示 const data setData useState courses useEffect async gt const result await axios get http examp