gpt4 book ai didi

reactjs - 在 React 中使用 Semantic-UI 固定菜单和侧边栏

转载 作者:行者123 更新时间:2023-12-03 13:27:59 29 4
gpt4 key购买 nike

我正在尝试将 Semantic-UI 的固定菜单和侧边栏与 React 框架一起使用。我希望获得与 Semantic-UI 的文档页面(在平板电脑和移动设备显示中)相同的结果,顶部有一个固定菜单,左侧边栏在切换时会覆盖。

我在这里整理了一个例子: https://jsfiddle.net/bullwinkle/m3hr5v36/

它可以工作,但 Semantic-UI 不喜欢这种布局,并在控制台中提供以下错误:

Sidebar: Had to add pusher element. For optimal performance make sure body content is inside a pusher element
Sidebar: Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag <div class=​"ui inverted left vertical sidebar menu" data-reactid=​".0.0">​…​</div>​

因此,Semantic-UI 会移动布局,以便 .sidebar.pusher<body> 的直系子代。这不完全是 React 的方式。

正如这里所解释的:

Semantic UI sidebar throws console errors with ReactJS when render app to body

您需要为侧边栏定义自定义上下文。好的,我已经在侧边栏初始化中完成了这一点:

componentDidMount() {
$('.ui.sidebar').sidebar({
transition: 'overlay',
context: $('#layout')
});
},

(请参阅 jsfiddle 的第四版,由于低代表,我无法发布更多链接)

这修复了错误消息,但现在顶部菜单不再固定,侧边栏随内容一起滚动。我已经尽了一切努力让 Semantic-UI 和 React 能够很好地配合,但我显然错过了一些东西

最佳答案

我在 Ember 上遇到了同样的问题,它生成了以下 DIVS:

<div data-label="layer-div" style="display: none;"></div>
<div data-label="preview-div" style="pointer-events: none; display: none;"></div>

...在内容之前,这会给侧边栏带来问题,因为内容需要包装在 PUSHER 类中,以便侧边栏在打开时可以将其推送过来。

所以,React 在你的 Pusher 类之外添加了一些额外的内容,这就是它所提示的。

{{!-- Pusher means that the sidebar will push it out of the way --}}
<div class="ui grid pusher">

如果您的 Pusher 类之前有任何内容(侧边栏 div 除外),您将收到错误消息。看一下你的源代码,你会看到 Semantic-ui 创建了第二个 Pusher 类来包装 React 生成的内容。

关于reactjs - 在 React 中使用 Semantic-UI 固定菜单和侧边栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33071366/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com