预期onClick事件侦听器可以正常运行,但具有对象类型-ReactJS

时间:2018-10-07 20:46:37

标签: javascript reactjs onclick event-listener

我期望onClick事件监听器是一个函数,但是对象类型错误。有人可以帮我解决这个问题吗?

下面是我的代码段:

render_detail_options = () => {
     return(
         <div>
            <component-name
                name={detail.name}
                recipient={detail.recipient}
            />
        </div>
      );
};
render = () => {
    return (
        <div className="details">
                <table>
                    <thead>
                        <tr>
                            <th>...</th>
                         </tr>
                    </thead>
                    <tbody>
                        {this.state.details.map((detail) => {
                            const option = this.props.options.find(option => option.id === detail.option_id);
                            return (
                                <tr key={detail.id}>
                                     <td>{detail.recipient}</td>
                                     <td>
                                        <some-component>
                                            <button>...</button>
                                            <span onClick={this.render_detail_options(share, model)}>Edit</span>
                                        </some-component>
                                     </td>
                                 </tr>
                           </tbody>); 

3 个答案:

答案 0 :(得分:0)

                                            <span onClick={this.render_detail_options(share, model)}>Edit</span>

尝试使用ES6箭头功能:

onClick = {(e)=> this.handleClick(param,e)}

答案 1 :(得分:0)

尝试这样重构,让我知道它是否解决了您的问题。

<some-component>
   <button onClick={() => this.render_detail_options(data)}>Edit</button>
</some-component>

我也建议您访问这些docs。他们拥有您需要的一切。

答案 2 :(得分:0)

您没有给onClick回电。尝试 $("a").on("mouseover", function() { $(this).css("color", "green"); }).on("mouseout", function() { $(this).css("color", "black"); });