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

React应用本地运行正常,复制到CodePen后出现Unexpected Token错误

问题解决方案

核心报错(render行Unexpected Token)解决

这个报错和你提到的passive事件提示完全无关,是CodePen的JSX转译配置缺失导致的,按以下步骤修复:

  • 打开对应CodePen项目的「设置」,切换到JavaScript标签页
  • 预处理器选择Babel,开启JSX语法转译支持
  • 在外部脚本引入区域,添加和你本地开发版本一致的react、react-dom CDN资源
  • 如果你本地使用的是React 18,需要将render写法调整为React 18的标准写法:
import { createRoot } from 'react-dom/client'
const root = createRoot(document.getElementById('root'))
root.render(<App />)

配置完成后重新运行即可消除该语法错误。

其他疑问解答

1. passive事件监听器相关

  • 你看到的[Violation]类提示仅为性能优化建议,不会触发代码运行报错,不需要作为本次报错的排查方向
  • React的合成事件系统目前不支持直接在JSX的onChange等事件绑定语法中添加passive参数,如果确实需要配置passive事件,只能通过原生DOM API实现,参考示例:
useEffect(() => {
  const targetDom = donationAmountRef.current
  const onTouchStart = (e) => {
    // 事件处理逻辑
  }
  // 绑定passive事件
  targetDom.addEventListener('touchstart', onTouchStart, { passive: true })
  // 组件卸载时移除事件
  return () => targetDom.removeEventListener('touchstart', onTouchStart)
}, [])
  • 你提供的onChange事件绑定代码没有语法问题,和本次报错无关。

2. CodePen对React应用的支持能力

CodePen完全可以承载多状态的中等复杂度React应用,只要配置好对应的预处理器、外部依赖,对齐本地开发环境的版本和规则,不会存在功能限制。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:27:02