With a limited set of props that only relate to flex layouts, Flex is useful for separating layout from other concerns to prevent overloaded Box usage.
Example: Applying flex properties to children
When using the 'gap' property, Flex wraps each child in a Flex.Item sub-component. If one of more of those children need custom flex properties, you can use Flex.Item directly.
Example: Initial item width using flexBasis
If an item needs a different width in the flex layout than the content would otherwise indicate,
flexBasis can be used.
Example: Overflowing children and minWidth
Extra-wide children can sometimes overflow the Flex parent container, breaking the layout (and skipping truncation, if applicable).
To fix this, simply wrap the wide child in Flex.Item with
For more info, check out this very helpful blog post.