已解决
原来,我需要将prop的值传递给新组件,而没有任何箭头功能,而只是纯数据,要么作为我在组件内部预定义的let
,要么甚至作为prop = prop。>
<InfoToolTip
className = 'gauge_form'
content = {_t(messages.refDetails)}
is_html = '1'
onclick_text= {_t(messages.refLink)}
onclick = {this.props.handler}
/>
甚至
<InfoToolTip
className = 'gauge_form'
content = {_t(messages.refDetails)}
onclick_text= {_t(messages.refLink)}
handler = {this.props.handler}
/>
,然后注意组件内部的handler
。
我在一个类似fancybox的容器中拥有此链接,该容器在单击时会弹出一个新容器。
这正常工作,但我想应用一个显示相同的类似fancybox的容器的新组件。我无法使它正常工作,因为我不知道如何传递所需的功能来实现这一目标。
父文件的一些代码:
modal_pop(e) {
this.toggleClass(e);
this.props.handler(e);
}
return (
<Link className="custom_btn repair_form"
to="#" onClick={this.modal_pop.bind(this)}>
{_t(messages.refLink)}
</Link>
<InfoToolTip
className = ''
content = {_t(messages.refDetails)}
is_html = '0'
onclick={() => this.props.handler}
onclick_text='Open modal window'
/>
组件(子)的代码:
render() {
const { className,
content,
is_html='0',
title,
onclick,
onclick_text,
} = this.props;
let print_button = onclick != '' ?
<Link className="custom_btn"
to="#" onClick={() => onclick}>
{onclick_text}
</Link>
:
'';
该组件也可以正常工作,它会根据需要弹出,显示包括按钮在内的所有数据-但是func不会启动,当单击该函数时,我只会移至页面顶部{{ 1}},就像单击任何(#)
链接一样。
我在做什么错了?