state = {
visible1: false,
visible2: false,
visible3: false
}
onShow = (key) => {
this.setState({
key: true
});
}
render(){
return (
<button onClick={this.onShow.bind(this,'visible1')}>按钮1</button>
<button onClick={this.onShow.bind(this,'visible2')}>按钮2</button>
<button onClick={this.onShow.bind(this,'visible3')}>按钮3</button>
);
}
显然这样 key:value 动态赋值并不会成功。根据key动态赋值只需要这样就可以成功了
onShow = (key) => {
this.setState({
[key]: true
});
}