使用React传递参数

时间:2019-03-15 23:42:52

标签: javascript reactjs

我有这个Json变量:

this.state = {
            groups: [{
                name: '',
                permission: [{
                    name: ''
                }]
            }]
        }

在我的渲染方法上,我有这个:

 render() {

        return (
            <div>
                <div>
                    <HeaderApp />

                    <h3>Choose a group to add permissions:</h3>

                    {this.state.groups.map((groups) => {
                        return (<li key={groups.code}>
                            <Card>
                                <CardBody>
                                    <CardTitle>{groups.name}</CardTitle>
                                    <CardSubtitle>This group has {this.countPermissionPerGroup(groups)} permissions.</CardSubtitle> 
                                    <Button color="secondary" onClick={(groups) => this.onClickShowPermissions(groups)}>Show permissions</Button>    
                                    <Button color="secondary">Add Permission</Button>
                                </CardBody>
                            </Card>
                        </li>)

                    })}


                </div>
            </div>
        );
    }

在onClick方法上,我想传递按钮所属的组,并获取该组的所有权限,并使用此方法在控制台上打印它:

onClickShowPermissions = (group) => {
    for(var g in group.permission){
        console.log("Test"+g)
    }

}

但是由于某种原因无法正常工作,我在做什么错了?

1 个答案:

答案 0 :(得分:1)

onClick操作具有绑定的事件类型。因此,与其尝试直接从onClick传递组,不如将其保留为空:

<Button color="secondary" onClick={() => this.onClickShowPermissions(groups)}>Show permissions</Button>