Atomic Layout
  • Introduction
  • Motivation
  • Resources
  • FAQ
    • Comparison with styled-system
  • Getting started
    • Installation
    • First composition
    • Responsive composition
    • Nested composition
  • Fundamentals
    • Breakpoints
    • Prop aliases
    • Responsive props
  • API
    • Layout
      • configure()
    • Components
      • Box
      • Composition
      • Only
      • Visible
    • Hooks
      • useMediaQuery
      • useResponsiveQuery
      • useViewportChange
      • useBreakpointChange
      • useResponsiveValue
      • useResponsiveProps
    • Utilities
      • query
      • makeResponsive
  • Recipes
    • Semantics
    • Namespaces
    • Iterative areas
    • Responsive layout
    • Explicit media query
Powered by GitBook
On this page
  1. Recipes

Iterative areas

A single template area may be rendered multiple types, for example during the iteration of a list items rendering.

import React from 'react'
import { Composition } from 'atomic-layout'

export const List = ({ items }) => (
  <Composition areas="column" gap={10}>
    {(Areas) => items.map((item) => (
      <Areas.Column key={item.id} col="auto">{item}</Areas.Column> 
    ))}
  </Composition>
)

By setting row and col props to "auto" you enable the auto-placing algorithm of CSS Grid.

PreviousNamespacesNextResponsive layout

Last updated 5 years ago