React.JSを使ってサイドバーに簡単なスライドを作ろうとしています。 実装したい機能は、サイドバーコンポーネントをメインコンテンツコンポーネントでカバーすることです。React Slide in Sidebar
私はこの機能に必要なコードを追加しましたが、機能しません。もし誰かが私のコードを調べることができれば幸いです。事前にありがとうございます。
はここ
class Sidebar extends React.Component {
render(){
return(
<div className="sidebar">
<ul>
<li>menu1</li>
<li>menu2</li>
</ul>
</div>
)
}
}
class Main extends React.Component {
constructor(props){
super(props);
this.state={
isOpen: false
}
this.handleClick = this.handleClick.bind(this)
}
handleClick(){
this.setState({ isOpen : !this.state.isOpen})
console.log(!this.state.isOpen)
}
render(){
let mainStatus = this.state.isOpen ? "isopen" : "";
return(
<div className={this.props.mainStatus} id="main" >
<button onClick={this.handleClick}>Click</button>
<div className="main">Main content</div>
</div>
)
}
}
class App extends React.Component {
render(){
return(
<div className="container">
<Sidebar />
<Main />
</div>
)
}
}
ReactDOM.render(<App />, document.getElementById("root"))
CSS
.container {
display: flex;
}
/**** MAIN ****/
#main {
background-color: #900025;
}
#main.isopen {
left:0;
background-color:#fff;
}
/**** SIDEBAR ****/
.sidebar {
background-color: #575777;
}
がmy codepen linkで反応します。
ちょっとした説明 - ボタンクリック時にサイドバーを非表示にして表示します。そうですか? – Swapnil
はい、あなたは正しいです。私はMauriceのポイントを実装しました。まだボタンは動作していますが、まだサイドバーを隠すことはできません.. https://codepen.io/aaayumi/pen/brPVvG?editors=0110 – aaayumi