我正在使用 React JS 创建响应式 UI。我想创建一个可折叠的侧边栏,如下所示:
因此,当我单击垂直条(图形信息)时,它应该像第二张图片一样展开。我在Jsfiddle
示例代码中看到了一些示例。但在这里,他们使用了一个静态按钮来控制折叠。有没有我可以使用的库?或者任何代码建议?
我正在学习 React JS。因此,任何帮助或建议将不胜感激。
我正在使用 React JS 创建响应式 UI。我想创建一个可折叠的侧边栏,如下所示:
因此,当我单击垂直条(图形信息)时,它应该像第二张图片一样展开。我在Jsfiddle
示例代码中看到了一些示例。但在这里,他们使用了一个静态按钮来控制折叠。有没有我可以使用的库?或者任何代码建议?
我正在学习 React JS。因此,任何帮助或建议将不胜感激。
你可以有一个按钮,就像在小提琴中一样,但在侧边栏组件中。
React 的美妙之处在于分离状态。我是这样想的:
所以Parent
变成了(现在将函数传递给SideBar
)
var Parent = React.createClass({
getInitialState: function(){
return {sidebarOpen: false};
},
handleViewSidebar: function(){
this.setState({sidebarOpen: !this.state.sidebarOpen});
},
render: function() {
return (
<div>
<Header onClick={this.handleViewSidebar} />
<SideBar isOpen={this.state.sidebarOpen} toggleSidebar={this.handleViewSidebar} />
<Content isOpen={this.state.sidebarOpen} />
</div>
);
}
});
然后SideBar
变成(添加一个调用该函数的按钮):
var SideBar = React.createClass({
render: function() {
var sidebarClass = this.props.isOpen ? 'sidebar open' : 'sidebar';
return (
<div className={sidebarClass}>
<div>I slide into view</div>
<div>Me too!</div>
<div>Meee Threeeee!</div>
<button onClick={this.props.toggleSidebar} className="sidebar-toggle">Toggle Sidebar</button>
</div>
);
}
});
我已经实现了侧抽屉,而没有使用任何这些包,如滑动抽屉或react侧边栏。
您可以在我的 GitHub 帐户GhostWolfRider 中查看Side Drawer。
输出图像供参考:
幻灯片前:
滑动后:
你可以使用 React Offcanvas 组件来让它工作。这是安装 offcanvas 组件的链接。