@eduzz/ui-layout

中文文档
5.0.1发布于 2026/10/17MITTypeScriptCommonJS近 30 天下载 2117

维基百科中的相关条目: 维基百科中的相关条目: 维基语录链接:名人名言

中文使用文档
文档目录21 节
  1. 进口
  2. Estrutura 基地
  3. 德斯特鲁兰多
  4. 实例
  5. 道具
  6. 布局道具
  7. 顶条道具
  8. 顶巴. 动作道具
  9. 顶巴. 用户Menu 项目道具
  10. 顶巴. 用户MenuGroup 道具
  11. 顶巴. 团结支持聊天道具
  12. 顶巴. 模式开关道具
  13. 侧边栏道具
  14. 边栏. 项目道具
  15. 边栏. 组道具
  16. 边栏. 组与 GroupSwitcher 道具
  17. 边列组与组切换器选项
  18. 内容道具
  19. 使用主题
  20. 进口
  21. 实例

Eduzz UI: Eduzz 版式

维基百科中的相关条目: 维基百科中的相关条目: 维基语录链接:名人名言

版式

(原始内容存档于2018-03-26). Estrutura padrão das aplica'es.

进口

import Layout from '@eduzz/ui-layout';

// ou
import Layout from '@eduzz/ui-layout';
import Sidebar from '@eduzz/ui-layout/Sidebar';
import Topbar from '@eduzz/ui-layout/Topbar';
import Content from '@eduzz/ui-layout/Content';

Estrutura 基地

<Layout>
  <Layout.Topbar />
  <Layout.Sidebar />
  <Layout.Content />
</Layout>

德斯特鲁兰多

简写为escrita do código, você pode desestruturar os 组件.

import Layout from '@eduzz/ui-layout';

const { Sidebar, Topbar, Content } = Layout;
const { Item, Group, GroupWithGroupSwitcher } = Sidebar;

function CustomLayout() {
  return (
    <Layout>
      <Topbar {...topbarProps}>
        {...}
      </Topbar>

      <Sidebar {...sidebarProps}>
        {...}
      </Sidebar>

      <Content>
        {...}
      </Content>
    </Layout>
  );
}

export default CustomLayout;

实例

import { NavLink, useLocation } from 'react-router-dom';

const { Sidebar, Topbar, Content } = Layout;
const { Item, Group, GroupWithGroupSwitcher } = Sidebar;

function MyComponent() {
  const location = useLocation();

  return (
    <Layout>
      <Topbar
        currentApplication='orbita'
        user={{
          name: 'Houston User',
          belt: 'Black Belt',
          avatar: 'https://picsum.photos/200',
          tag: 'unity'
        }}
      >
        <Topbar.UnitySupportChat token='...token gerado pelo servidor' />

        <Topbar.Action icon={<NotificationOutline size={25} />} label='Notificações' />
        <Topbar.Action icon={<InfoChatOutline size={25} />} />

        <Topbar.UserMenu>
          <Topbar.UserMenuItem>Meus Dados</Topbar.UserMenuItem>
          <Topbar.UserMenuItem>Minhas Compras</Topbar.UserMenuItem>

          <Topbar.UserMenuGroup label='Contas:'>
            <Topbar.UserMenuItem href='http://google.com' target='_blank'>
              John Doe
            </Topbar.UserMenuItem>
            <Topbar.UserMenuItem disabled>John Doe 2</Topbar.UserMenuItem>
          </Topbar.UserMenuGroup>

          <Topbar.UserMenuDivider />

          <Topbar.UserMenuItem>Sair</Topbar.UserMenuItem>
        </Topbar.UserMenu>
      </Topbar>

      <Sidebar currentLocation={location.pathname}>
        <Item href='/agendamento'>Resumo</Item>

        <GroupWithGroupSwitcher
            label='Integrações'
            options={[
              {
                id: 'whatsapp',
                label: 'Whatsapp',
                icon: <WhatsAppOutlined />,
                items: [
                  <Item key={'option-1-item-1'} id='sidebar-option-1-item-1'>
                    Templates
                  </Item>,
                  <Item key={'option-1-item-2'} id='sidebar-option-1-item-2'>
                    Configurações
                  </Item>
                ]
              },
              {
                id: 'email',
                label: 'Email',
                icon: <MailOutlined />,
                items: [
                  <Item key={'option-2-item-1'} id='sidebar-option-2-item-1'>
                    Layout
                  </Item>,
                  <Item key={'option-2-item-2'} id='sidebar-option-2-item-2'>
                    Templates
                  </Item>,
                  <Item key={'option-2-item-3'} id='sidebar-option-2-item-3'>
                    Configurações
                  </Item>
                ]
              }
            ]}
          />

        <Group label='Agendamento'>
          <Item as={NavLink} to='/agendamento'>
            Evento
          </Item>
          <Item as={NavLink} to='/agendamento'>
            MasterMind
          </Item>
          <Item as={NavLink} to='/agendamento'>
            Lançamento
          </Item>
        </Group>

        <Item disabled>Marketplace</Item>
      </Sidebar>

      <Content>{/*Your content here*/}</Content>
    </Layout>
  );
}

道具

布局道具

道具倾斜俄克里奥几内亚赤道几内亚
模式'light' | 'dark'false'light'Modo (Dark ou 灯光模式)
持续模式booleanfalsefalseFaz o modo (Dark ou Light mode) 持续无饼干 eduzz-theme
接受 ModeBySearchParam 软件booleanfalsefalse阿塞塔·雷瑟尔 ?eduzzMode=dark na URL por por exemplo, para definir o mode
模式变化(newMode: 'light' | 'dark') => voidfalse- 说吧(原始内容存档于2018-10-25) (英语). Função a ser excutada toda vez que houver uma mudança de modo.

顶条道具

道具倾斜俄克里奥几内亚赤道几内亚
标志urlfalse- 说吧(原始内容存档于2018-09-26). Url para o logo pararao.
移动urlfalse- 说吧(原始内容存档于2017-09-21). Url para o logo na versão movile.
图标urlfalse- 说吧{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}哦! {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}哦.
图标urlfalse- 说吧(原始内容存档于2017-09-21). Url para o logo na versão movic no tema dark.
当前应用程序stringfalse- 说吧Aplicação que está sendo usada, para Marcar no menu de apps. 互联网档案馆的存檔,存档日期2013-12-21., p.
用户objectfalse- 说吧用户.
禁用附录booleanfalsefalse(原始内容存档于2018-07-29). Se vordadeiro esconde o menu de apps.
禁用LogobooleanfalsefalseVerdadeiro esconde 一个标志.
启动ReactNodefalse- 说吧Elemento que será addionado antes da 标志

顶巴. 动作道具

道具倾斜俄克里奥几内亚赤道几内亚
图标ReactNodetrue- 说吧图标、塔曼荷理想25
标签stringfalse- 说吧
活动booleanfalsefalse镇压者/阿提沃
点击functionfalse- 说吧

顶巴. 用户Menu 项目道具

道具倾斜俄克里奥几内亚赤道几内亚
图标ReactNodetrue- 说吧图标、塔曼荷理想25
儿童stringfalse- 说吧跳动瑟·马弦
已禁用booleanfalse- 说吧
点击functionfalse- 说吧

顶巴. 用户MenuGroup 道具

道具倾斜俄克里奥几内亚赤道几内亚
标签stringtrue- 说吧
儿童ReactNodetrue- 说吧

顶巴. 团结支持聊天道具

道具倾斜俄克里奥几内亚赤道几内亚
符号stringfalse- 说吧Token gerado pelo servidor para uso do LiveHelper (英语:

顶巴. 模式开关道具

道具倾斜俄克里奥几内亚赤道几内亚
工具提示stringfalse'Tema'Texto para o tooltip do botão. (原始内容存档于2019-09-28). 模式
徽标点booleanfalsefalse{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}嗯... {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}徽章...

侧边栏道具

道具倾斜俄克里奥几内亚赤道几内亚
当前位置stringfalse- 说吧(原始内容存档于2018-10-21) (中文(简体) ). Caminho de localização atual (pathname).

边栏. 项目道具

道具倾斜俄克里奥几内亚赤道几内亚
作为React.ElementTypefalse- 说吧组件 que 输入项 .
anyanyfalse- 说吧Qualquer proc que o 质量 as 专辑
活动booleanfalsefalse欧拉我们 currentLocation (原始内容存档于2013-10-10). fornecido para tentar ver se está ativo ou não
选项卡索引numberfalse- 说吧
已禁用booleanfalse- 说吧
点击functionfalse- 说吧

边栏. 组道具

道具倾斜俄克里奥几内亚赤道几内亚
标签React.ReactNodefalse- 说吧- 说吧
开始扩展booleanfalsetrueGrupo deve iniciar 扩展 por paderão
选项卡索引numberfalse- 说吧

边栏. 组与 GroupSwitcher 道具

道具倾斜俄克里奥几内亚赤道几内亚
编号stringfalse- 说吧(HTML) " 身份认证 " 组织 <li>) (中文(简体) ).
标签ReactNodefalse- 说吧Label ou título do grupo, exibido acima das op-es do seletor. 中国植物物种信息数据库.
选项SidebarGroupWithGroupSwitcherOption[]true- 说吧{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}没有格鲁波 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 Cada opção 定义 um conjunto de itens e atributos. 中国植物物种信息数据库.
类Namestringfalse- 说吧CSS特殊组件.
默认选项化string false- 说吧(原始内容存档于2013-10-12). Valor paderão selecionado, caso não seja inforado, será utilizada a primira opção como paderão
更改选项(option: SidebarGroupWithGroupSwitcherOption) => voidfalse- 说吧Função que será chamada como callback ao cherserar a opção 互联网档案馆的存檔,存档日期2013-12-02

边列组与组切换器选项

道具倾斜俄克里奥几内亚赤道几内亚
编号stringtrue- 说吧(原始内容存档于2018-07-29). Identificador único da opção.
标签stringtrue- 说吧(原始内容存档于2018-09-28). Texto que expresenta o rótulo da opção. (原始内容存档于2017-10-29) (英语). Pode Ser um nome ou título descritivo.
图标ReactNodefalse- 说吧电磁相机 等离子相机 等离子相机.
项目ReactNode[]true- 说吧儿童节日(儿童节日).

内容道具

道具倾斜俄克里奥几内亚赤道几内亚
禁用绘图booleanfalse- 说吧删除 o 粘贴

使用主题

Hook para ler e cherar o modo do tema (美国英语:light 编号 : dark) (中文(简体) ). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我们一起吃吧 Layout。 。 。 .

import { useTheme } from '@eduzz/ui-layout';

function ThemeToggle() {
  const { theme, toggle, setTheme } = useTheme();

  return (
    <>
      <button onClick={toggle}>Tema atual: {theme}</button>
      <button onClick={() => setTheme('dark')}>Dark</button>
    </>
  );
}

应用程序装入器

(原始内容存档于2018-03-26) (英语). Longer de aplicação paderão.

进口

import AppLoader, { useAppLoader } from '@eduzz/ui-layout';

实例

谈什么 createRoot e/ 使用懒惰的aparecer o 加载器 antes da aplicação。 (原始内容存档于2018-06-26) (英语). Cologue o minimo de importing nese arquivo para carregar o mais survo possível.

import { lazy } from 'react';
import { createRoot } from 'react-dom/client';
import AppLoader from '@eduzz/ui-layout'; 

const App = lazy(() => import('./App'));

createRoot(document.getElementById('app') as HTMLElement).render(
  <AppLoader>
    <App />
  </AppLoader>
);

// App.tsx
import { useEffect } from 'react';
import { useAppLoader } from '@eduzz/ui-layout';

function App() {
  const appLoader = useAppLoader();

  useEffect(() => {
    // Faça o que precisar ser feito e entao chame o `hide`
    appLoader.hide();
    // Caso queira aparecer novamente
    appLoader.show();
    // Se algo acontecer pode mostrar uma mensagem de erro
    appLoader.error(new Error(), () => console.log('Tente novamente'));
  }, []);

  return <div />
}

版本与发布记录

@eduzz/ui-layout 共发布 172 个版本,首次发布于 2023/06/30;过去 12 个月发布了 53 个版本。

版本发布日期距今
5.0.1latest2026/10/1728 天前
5.0.1-rc.2rc2026/10/101 个月前
5.0.1-rc.12026/10/031 个月前
5.0.1-rc.02026/10/031 个月前
5.0.02026/09/012 个月前
5.0.0-rc.222026/08/262 个月前

其他发布通道:legacy → 1.4.17,rc → 5.0.1-rc.2。

关于 @eduzz/ui-layout 的常见问题

@eduzz/ui-layout 是什么?

维基百科中的相关条目: 维基百科中的相关条目: 维基语录链接:名人名言

如何安装 @eduzz/ui-layout?

在项目目录运行 npm install @eduzz/ui-layout,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18)、react-dom(>=18)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@eduzz/ui-layout 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@eduzz/ui-layout 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@eduzz/ui-layout 可以商用吗?

@eduzz/ui-layout 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@eduzz/ui-layout 的下载量有多少?

根据 npm 官方下载统计,@eduzz/ui-layout 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,117 次,日均约 71 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@eduzz/ui-layout 还在维护吗?

最新版本 5.0.1 发布于 2026/10/17(28 天前);至今共发布 172 个版本,其中过去 12 个月发布了 53 个;首次发布于 2023/06/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。