解决这个问题的方法是使用 AppLayout 组件的 onCollapse 属性配合 useState 钩子来控制侧边栏的关闭和打开状态。以下是一个示例代码:
import React, { useState } from "react";
import { AppLayout, Button, Sidebar } from "your-ui-library";
const App = () => {
const [sidebarOpen, setSidebarOpen] = useState(true);
const handleSidebarToggle = () => {
setSidebarOpen(!sidebarOpen);
};
return (
{/* 侧边栏内容 */}
}
>
{/* 主要内容 */}
);
};
export default App;
在上面的代码中,我们使用 useState 钩子来定义一个状态变量 sidebarOpen 和一个函数 setSidebarOpen 来更新这个状态。初始时,我们将 sidebarOpen 设置为 true,表示侧边栏默认是打开的状态。
在 AppLayout 组件中,我们通过 sidebar 属性将 Sidebar 组件作为侧边栏传递进去,并根据 sidebarOpen 的值来决定侧边栏的打开和关闭状态。
在主要内容部分,我们添加了一个按钮来切换侧边栏的状态。当点击按钮时,会调用 handleSidebarToggle 函数来更新 sidebarOpen 的值,从而实现侧边栏的自动关闭和打开。
请注意,上述代码中的 AppLayout、Button 和 Sidebar 组件仅为示例,并非真实存在的组件,你需要根据你所使用的 UI 库来替换它们。