Can/Should 我使用 Fabric React Stack 元素布置我的 React Web 应用程序?

Can/Should I lay out my react web app using Fabric React Stack element?

当我查看文档时,似乎 Stack element 是我应该用来布置我的应用程序的文件。

我想要一个带有页眉、页脚和主要部分的基本布局。页眉和页脚应该有固定的高度。主要部分的高度必须 grow/shrink。全部都必须具有 window 宽度的 100%。

我在 Stack.Item 上看到了 grow 道具。我假设我只需要将 grow 设置到主要部分。

问题是我无法让 Stack 占据 window 的整个高度。它根据其子项设置其大小。

我想我有两个可能的解决方案:

1) 根据window高度设置Stack的高度。也把它的高度做成一个状态,这样当window高度改变时,改变Stack高度。

2) 直接在 CSS/HTML 中进行高级布局,例如使用 flexbox。仅将 Stack 用于节内布局。

你有什么建议?

这里 codepen 演示您使用 Stack 布局的要求。它基本上按照您在选项 1 中的建议进行操作。您可以随时查看选项 2,但这完全取决于您应用的复杂性。

Stack 是 Fl​​exbox 的抽象,添加了一些不错的东西(比如 gap)。因此,如果 Flexbox 足以构建您的页面布局,Stack 将完美工作。

如果您需要更复杂的二维布局,您可能需要为每个区域正常 css 网格,然后通过每个区域内部的 Stack 布局内容。