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

点击顶部按钮时出现报错的解决方案(附CodeSandbox示例)

我刚帮你排查了这个点击顶部按钮报错的问题,根源出在Menu组件的key绑定和状态更新逻辑上,下面是具体的解决步骤:

  • 修复Menu.Item的key值错误
    你代码里给Menu.Item绑定的key={item}是个对象,但React要求key必须是字符串或数字类型。每个菜单项对象里已经有key属性(比如{ key: '1', label: 'Option 1' }),所以直接改成key={item.key}就好,这样React能正确识别每个选项的唯一标识。

  • 简化选中状态的处理逻辑
    结合Ant Design Menu的特性,我们可以更规范地绑定选中状态:

    <Menu
      mode="horizontal"
      selectedKeys={[this.state.current]}
      onClick={this.handleClick}
    >
      {menuItems.map(item => (
        <Menu.Item key={item.key}>{item.label}</Menu.Item>
      ))}
    </Menu>
    

    对应的点击事件函数保持简洁:

    handleClick = (e) => {
      this.setState({ current: e.key });
    };
    
  • 验证修复结果
    改完这两处后,再点击顶部的菜单按钮,就不会再出现报错了,菜单的选中状态也能正常切换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:08:21