javascript React和TypeScript,在添加条件onClick prop时出错

wkyowqbh  于 2023-03-21  发布在  Java
关注(0)|答案(1)|浏览(130)

我想有条件地添加一个onClick函数到我的TypeScript React组件中,如下所示:

<div onClick={(!disabled && onClick) ?? undefined}>{children}</div>

但我得到这个错误:

Type 'false | (() => void) | undefined' is not assignable to type 'MouseEventHandler<HTMLDivElement> | undefined'.
  Type 'boolean' is not assignable to type 'MouseEventHandler<HTMLDivElement>'.

我的onClick prop变量在我的props接口中的类型是onClick?: () => void;。我应该怎么做?

piztneat

piztneat1#

当输入onClick时,避免这些类型错误的一个简单方法是如下所示。注意,我没有直接传递onClick,因为类型() => void不能分配给click处理程序。

{!disabled && onClick ? (
  <div onClick={(e) => onClick()}>{children}</div>
) : (
  <div>{children}</div>
)}

相关问题