首页 > 解决方案 > 字符串不可分配给 onMouseEvent

问题描述

我有这个逻辑,其中我有一个条件,如果它是真的,它将分配一个值,onMouseLeave否则没有。虽然我明白这个错误有什么办法吗?

<li
class="some_class"
onMouseLeave={meta.hover ? onMouseLeaveEventFunc : ''}
>

我遇到的错误:

Type 'string | ((event: MouseEvent<Element, MouseEvent>) => void)' is not assignable to type '(event: MouseEvent<HTMLLIElement, MouseEvent>) => void'.

标签: javascriptreactjstypescript

解决方案


正如错误所暗示的,字符串不是作为事件处理程序的有效值。

而不是空字符串(when meta.hoveris false),您可以通过undefined

onMouseLeave={meta.hover ? onMouseLeaveEventFunc : undefined}

推荐阅读