每当我使用它时,即使没有单击按钮,侧栏也会始终打开。换句话说,每当刷新浏览器时,侧栏都已打开。我希望将其关闭,只有在单击按钮时,侧栏才会打开。
但是我希望它根据命令打开和关闭。我尝试玩受支持的道具,但仍然没有运气:(。
我正在使用这个https://github.com/balloob/react-sidebar#installation
这是我的App.js
文件:
import React from "react";
import Sidebar from "react-sidebar";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
sidebarOpen: true
};
this.onSetSidebarOpen = this.onSetSidebarOpen.bind(this);
}
onSetSidebarOpen(open) {
this.setState({ sidebarOpen: open });
}
render() {
return (
<Sidebar
sidebar={<div><b>Sidebar content</b><b>Sidebar content</b><b>Sidebar content</b><b>Sidebar content</b><b>Sidebar content</b><b>Sidebar content</b><b>Sidebar content</b><b>Sidebar content</b></div>}
open={this.state.sidebarOpen}
onSetOpen={this.onSetSidebarOpen}
styles={{ sidebar: { background: "white" } }}
>
<button onClick={() => this.onSetSidebarOpen(true)}>
Open sidebar
</button>
</Sidebar>
);
}
}
export default App;
答案 0 :(得分:2)
首先,如果希望它以关闭状态启动,则将值初始设置为false ..
this.state = {
sidebarOpen: false
};
第二,如果要打开和关闭它,请正常设置onClick-> onClick={this.onSetSidebarOpen}
:
onSetSidebarOpen() {
this.setState((prevState) => ({ sidebarOpen: !prevState.sidebarOpen }));
}
通常-当然,它保持打开状态,默认情况下您将值设置为true,并且永远保持为真。