【发布时间】:2018-06-11 13:56:20
【问题描述】:
我正在尝试制作可重复使用的切换功能。
组件初始状态:
constructor(props) {
super(props);
this.state = {
collapseFirst: false,
collapseSecond: false
};
}
切换功能(它应该根据点击的折叠目标改变真/假状态):
handleToggle = e => {
const collapseItem = e.target.getAttribute('data-control');
this.setState({
[collapseItem]: !this.state.collapseItem
});
};
渲染元素(使用 Reactstrap Collapse 组件):
return (
<div>
<Button color="primary" onClick={this.props.toggle} data-control="collapseFirst">
First Collapse
</Button>
<Collapse isOpen={this.props.collapseFirst}>
<p>Some text</p>
</Collapse>
<Button color="primary" onClick={this.props.toggle} data-control="collapseSecond">
Second Collapse
</Button>
<Collapse isOpen={this.props.collapseSecond}>
<p>Some another text</p>
</Collapse>
</div>
);
问题在于,出于某种原因,collapseItem 返回了预期的数据控制值,但 this.state.collapseItem 未定义。
我做错了什么?
【问题讨论】:
标签: reactjs reactstrap