REACT将func传递给孩子并返回

时间:2018-07-06 11:00:01

标签: reactjs function components parent-child

已解决

原来,我需要将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-like container popup-like

这正常工作,但我想应用一个显示相同的类似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}},就像单击任何(#)链接一样。

我在做什么错了?

0 个答案:

没有答案