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,并为浪费你的时间向你道歉。