ReactJS新手使用axios调用API报than不是函数错误如何解决?
报错原因
- 该错误由拼写失误导致:你将Promise链式调用的标准方法
.then()错误拼写为了.than(),than仅为英文比较级场景使用的词汇,并非 axios 或 JS 原生 Promise 提供的内置方法,因此JS引擎无法识别该方法,抛出类型错误。
修复方案
将代码中的 .than 修正为 .then 即可解决报错。同时建议补充请求错误捕获的 .catch 逻辑、补全代码缺失的闭合大括号,完整可运行的正确代码如下:
componentDidMount(){ axios.get("https://jsonplaceholder.typicode.com/posts") .then((response) => { this.setState({posts: response.data}); }) .catch((error) => { // 此处可自定义请求失败后的兜底逻辑,例如提示用户、打印错误日志 console.error('数据请求失败:', error); }) }
补充检查项
- 确认当前组件文件顶部已正确导入axios:
import axios from 'axios' - 若项目未安装axios依赖,先执行安装命令:
npm install axios
内容的提问来源于stack exchange,提问作者Ihtisham Khattak
相关产品推荐
相关产品推荐

