You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中使用箭头函数出现Unexpected token错误,求解决方法

问题解决方案

你的代码存在几个核心问题,导致箭头函数处出现语法错误,以下是具体修复步骤:

1. 修复类组件继承问题

React类组件必须继承React.Component,否则无法正确使用组件的state、生命周期等核心特性,也会导致super(props)报错。修改类定义:

class TodoList extends React.Component {
  // ... 其余代码
}

2. JSX中嵌入JavaScript需用大括号包裹

在JSX内部执行JavaScript逻辑时,必须用{}将代码包裹起来,否则会被解析为普通文本,导致箭头符号被误识别为HTML实体。修改render方法:

render() {
  return (
    <ul id="todo-list" className="todo-app__list">
      {this.state.itemList.map((item) => (<TodoItem key={item.id} />))}
    </ul>
  );
}

3. 将itemList改为数组类型

map是数组的专属方法,你当前定义的itemList是对象,无法调用该方法。修改state初始化:

this.state = {
  itemList: [], // 改为数组类型
  total: 0
}

4. 添加组件导出

组件需要导出才能被其他文件引用,在文件末尾添加导出语句:

export default TodoList;

5. 列表渲染添加key属性

React要求列表渲染的每个子元素必须有唯一的key属性,避免渲染警告(可根据你的item实际属性调整key值)。

完整修正后的代码

import React from "react";
import '../styles.css'
import TodoItem from "../component/todoItem";

class TodoList extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            itemList: [],
            total: 0
        }
    }

    render() {
        return (
            <ul id="todo-list" className="todo-app__list">
                {this.state.itemList.map((item) => (<TodoItem key={item.id} />))}
            </ul>
        );
    }
}

export default TodoList;

完成以上修改后,箭头函数的语法错误会消失,同时解决了React组件的其他基础问题。

内容的提问来源于stack exchange,提问作者Adi_Hsiao_0410

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:55:30