을 표시 :반작용 : 드롭 다운 구성 요소가 나는 다음과 같다 구성 요소 드롭 다운하면
{...}
this.state = {
isVisible: false
}
}
toggleDisplay() {
this.setState({isVisible: !this.state.isVisible});
}
render() {
return (
<div>
<button onClick={this.toggleDisplay()}>click</button>
{this.state.isVisible ? <MenuElements toggleDisplay={this.toggleDisplay} /> : '' }
</div>
)
}
}
"MenuElements의"리를 가지고 단지 UL이다. 다른 페이지에서이 구성 요소를 여러 번 사용하므로 버튼을 클릭 할 때마다 각 클릭에 대해 "MenuElements"가 표시됩니다. 문제는 하나의 구성 요소 만 표시되기를 원한다는 것입니다. 따라서 MenuElements 컴포넌트가 이미 표시되어있는 경우, 다른 버튼을 클릭하면 이전 컴포넌트가 닫히고 두 번째 버튼이 열립니다.
내 코드에서 어떻게 구현할 수 있습니까?
감사합니다.
트랙 * 세계 * (아마도, REDUX 같은 것을 사용) 상태, 그리고이 있다면 : 또한
, 상태를 변경하는 올바른 방법을 이전 상태를 기준으로하는 this입니다 하나는 이미 열려 있고 다른 하나는 닫으십시오. –