我有一个react-bootstrap折叠,应该在单击按钮时打开/关闭。我还想通过redux调度打开它,但为了简单起见,我传递了一个bool值的属性:
<App opennow={true} />
这是我的Appcomponent中的render方法的一部分:
render() {
console.log('opennow', this.props.opennow)
//this.state.open = this.props.opennow;
console.log(this.state.open);
return (
<div>
<Button onClick={
()=>
this.setState({ open: !this.state.open })
}>
click
</Button>
<Collapse in={this.state.open}>
<div>
如何保持现有的显示/隐藏功能并触发一个节目,即在这种情况下通过属性打开折叠this.props.opennow?这是Codepen
答案 0 :(得分:2)
在班级中添加componentDidMount
。它在生成DOM后运行代码。
componentDidMount(){
if(this.props.opennow){
this.setState({open:true})
}
}
如果opennow
prop被传递为true,它会检查条件并在状态中将open
设置为true。
这是codepen