私はReactを初めて使いました。私は、「サイドバーのスライド」を含むスタンドアロンのヘッダーコンポーネントを構築しようとしています。私はサイドバーをスライドさせるCSSを適用するために状態を使用/アウト:アクセス<body>からReact
constructor() {
super();
this.state = {
sideBar: false
}
}
handleSidebar() {
this.setState({
sideBar: !this.state.sideBar
});
}
render() {
return(
<header>
<ul style={this.state.sideBar ? {'transform': 'translateX(0%)'} : null}></ul>
<button onClick={this.handleSidebar.bind(this)}></button>
</header>
)
これは、サイドバーをスライドさせるという点で仕事をしていませんが、サイドバーが開いていると、私はoverflow:hidden
を適用することにより、身体にスクロールをロックしたいです<body>
にしかし、<body>
がReactの外にあるので、私はタグにアクセスすることが可能であると思っていましたか?
ありがとうDávid、コンポーネントWillMount一度体にスタイルを追加しようとしましたが、コンポーネントは常に私のアプリに存在するので、単に本体のスクロールをロックします。それは私がアプリケーションの構造を変更する必要がありますか?おそらく、サイドバーを以外の別のコンポーネントとして追加するのでしょうか? –
情報ありがとう、私は私の答えを更新しました。 –
詳細な回答ありがとう!私はupdateBodyStylesが定義されていないというエラーが出ていたので、 'this.updateBodyStyles'に変更しました。 –