Javascript 如何在单击时关闭和打开侧边栏

Javascript 如何在单击时关闭和打开侧边栏,javascript,reactjs,debugging,slider,Javascript,Reactjs,Debugging,Slider,每当我使用它时,侧栏总是打开的,即使我没有点击按钮。换句话说,每当我刷新浏览器时,侧栏已经打开。我希望它被关闭,只有当我点击按钮时,侧栏才会打开 但我希望它能按命令打开和关闭。我试着玩支撑的道具,但还是没有运气:( 顺便说一句,我在用这个 这是我的App.js文件: import React from "react"; import Sidebar from "react-sidebar"; class App extends React.Component { constructor

每当我使用它时,侧栏总是打开的,即使我没有点击按钮。换句话说,每当我刷新浏览器时,侧栏已经打开。我希望它被关闭,只有当我点击按钮时,侧栏才会打开

但我希望它能按命令打开和关闭。我试着玩支撑的道具,但还是没有运气:(

顺便说一句,我在用这个

这是我的
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;
从“React”导入React;
从“反应侧栏”导入侧栏;
类应用程序扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
是的
};
this.onSetSidebarOpen=this.onSetSidebarOpen.bind(this);
}
onSetSidebarOpen(打开){
this.setState({sidebarOpen:open});
}
render(){
返回(
this.onSetSidebarOpen(true)}>
打开边栏
);
}
}
导出默认应用程序;

首先,如果希望它以关闭状态开始,则将该值初始化为false

    this.state = {
        sidebarOpen: false
    };
其次,如果您希望它打开和关闭,请将onClick设置为正常->
onClick={this.onSetSidebarOpen}

onSetSidebarOpen() {
    this.setState((prevState) => ({ sidebarOpen: !prevState.sidebarOpen }));
}

总的来说,它当然是开放的,默认情况下,你会将值设置为true,并且它会一直保持为true。

我真的觉得自己像个白痴……我在制作方法、调用函数、重写所有东西、做各种疯狂的事。我已经想出了比这个问题更琐碎的方法。谢谢你,sagi,并为浪费你的时间向你道歉。