我正在开发一个React应用程序,在该应用程序中,单击Antdesign(打开菜单时)的下拉菜单时,必须应用mixpanel。现在,下拉列表中有一个触发道具,它需要一个字符串“ click”。这可能是javascript中的一个基本概念,但是我是Javascript / react的新手,因此希望能提供帮助。
在传递道具“触发”到下拉菜单时,而不是写
trigger="click"
我写了一个返回“点击”并具有混合面板功能的函数,但是当我传递函数(PropTypes.func)时,它不能像触发器期望的PropTypes.string那样工作。
<Dropdown
visible={visible}
onSelect={onSelect}
/* And other props */
// trigger="click"
trigger={handleTrigger} I know this isn't correct, but I want
somewhat this type of functionality
/>
handleTrigger函数是-
const handleTrigger=()=>{
// MixPanel event handling
return "click"
}
在编写上述代码时不会给出错误,但是下拉功能不起作用。
最佳答案
您正在传递一个函数而不是执行它,为了使其正常工作,您应该尝试这样做:
trigger={this.handleTrigger()}
这样,您就可以传递给道具执行功能,而不是传递功能本身