在React中创建onClick事件

时间:2016-12-01 23:01:42

标签: javascript reactjs

我正在尝试创建一个表并渲染一些能够拥有"隐藏"行。

以下是我要做的事情:

CreateRows

我在另一个组件中调用render: function(){ return ( <div> <ChangeRowCount updatePeople = {this.updatePeople}/> <table> <CreateColumns columns={this.state.table_columns} /> <CreateRows people = {this.state.people}/> </table> </div> ) } 并向其发送一些数据:

rows

我意识到我的问题是,当我创建变量onClick()时我会包含函数Uncaught (in promise) TypeError: Cannot read property 'onClick' of undefined(…),但它可以&#39;#&#34;&#34;&#34;它并得到这个错误:

Child

有关如何包含onClick()函数以显示/隐藏# /usr/bin/nova-manage --debug api_db sync 组件的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

您看到此错误是因为您在地图功能中调用了this.onClick。 你需要通过传递this作为第二个参数

来设置map函数的上下文
    var rows = this.props.people.map(function(row, i){
        return (
            <tr key={i} onClick={this.onClick}>      
                <td>{row['id']}</td>
            </tr>
            {
                this.state.childVisible
                ? <Child />
                : null
            }
        )
    }, this)

在地图功能

上查看the documentationthisArg部分