【问题标题】:Antd Button onClick Type 'boolean' is not assignable to type 'MouseEventHandler<HTMLElement>'Antd Button onClick Type 'boolean' 不可分配给类型 'MouseEventHandler<HTMLElement>'
【发布时间】:2021-07-19 13:55:38
【问题描述】:

我在使用 Ant Design 库中的按钮组件时遇到打字错误。 “类型 'boolean' 不能分配给类型 'MouseEventHandler'。”我不知道如何解决这个问题。

组件 JSX

<Button onClick{() => toggleSideMenu('guidance')} icon={<CompassFilled/>} type='default' />

toggleSideMenu 功能:

  const toggleSideMenu = (menu: string) => {
      switch (menu) {
        case 'guidance':
          setIsGuidanceVisible(!isGuidanceVisible);
          break;
        case 'bluetext':
          setIsBlueTextVisible(!isBlueTextVisible);
          break;
        case 'tasklist':
          setIsTaskListVisible(!isTaskListVisible);
          break;
        case 'projectsnapshot':
          setIsProjectSnapshotVisible(!isProjectSnapshotVisible);
          break;
        default:
          return false;
          break;
      }
  };

有没有办法重写这个来解决这个问题或者我可以做些什么?谢谢。

【问题讨论】:

  • 尝试删除return false;
  • 仍然抛出同样的错误。
  • 你能试试onClick{() =&gt; {toggleSideMenu('guidance')}}(函数体周围的花括号)吗?如果是这样,这是@captain-yossarian 提到的问题,处理程序必须返回无效。另一方面,如果这是问题所在,您的错误消息会有所不同,因此我不能 100% 确定此修复是否会有所帮助。
  • 已解决。请看下面我的回答。谢谢。

标签: reactjs typescript antd


【解决方案1】:

原来问题是我使用的 TypeScript 插件正在缓存并抛出错误。一旦我重写了有这个问题的组件,错误就消失了。

【讨论】:

    猜你喜欢
    • 2021-10-12
    • 2017-06-29
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 2023-01-18
    • 2019-01-04
    • 2023-01-22
    • 2021-11-16
    相关资源
    最近更新 更多