Creating the Flex Layout Primitive Component Using Styled System

Artem Sapegin
InstructorArtem Sapegin

Share this video with your friends

Send Tweet
Published 2 years ago
Updated a year ago

In this lesson we’ll create the Flex layout primitive component, that will allow us (together with other layout primitives) to create almost any complex layout without writing custom CSS. We’ll use Styled System to create this component.

Flex is a shortcut to create Flexbox layouts: it’s based on the Box component but defines display: flex. We can use it like this:

<Flex justifyContent="space-between">
  <Box mr={3}>Foo</Box>
  <Box>Bar</Box>
</Flex>

This will create two <div>s aligned at the left and right sides of the Flexbox container with a minimum gap of 8 pixels (third step in our spacing scale).

We’ll use following libraries:

You can either use this lesson’s Git repository or install them manually in your project:

npm install styled-components styled-system

Useful links and documentation:

Artem Sapegin: [0:00] Create a new markdown file, Flex.md. Add some examples. Create a JavaScript file, Flex.js. Import styled-components and our Box component.

[0:11] We're creating a new styled-component. This time, it's not a div, but it is based on the Box component. The only thing we need to change is define display: 'flex' and export it. We can reuse the propTypes of the Box component because they are the same.