Bird
Raised Fist0
React Nativemobile~5 mins

Flexbox layout (flexDirection, justifyContent, alignItems) in React Native - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does flexDirection control in a Flexbox layout?

flexDirection sets the main axis direction for the layout. It decides if items are placed in a row (horizontally) or a column (vertically).

Click to reveal answer
beginner
Explain justifyContent in Flexbox.

justifyContent aligns children along the main axis (the direction set by flexDirection). It controls how space is distributed between and around items.

Click to reveal answer
beginner
What is the role of alignItems in Flexbox?

alignItems aligns children along the cross axis (perpendicular to the main axis). It controls vertical or horizontal alignment depending on flexDirection.

Click to reveal answer
intermediate
If flexDirection is row, which axis does justifyContent affect?

It affects the horizontal axis, arranging items left to right or with space between them horizontally.

Click to reveal answer
intermediate
How does alignItems: center affect children in a Flexbox with flexDirection: column?

It centers children horizontally because the cross axis is horizontal when the main axis is vertical.

Click to reveal answer
In React Native Flexbox, what is the default value of flexDirection?
Acolumn
Brow
Crow-reverse
Dcolumn-reverse
Which justifyContent value places items at the end of the main axis?
Aflex-start
Bcenter
Cflex-end
Dspace-between
What does alignItems: stretch do by default?
ACenters items on cross axis
BStretches items to fill cross axis
CAligns items to start of cross axis
DAligns items to end of cross axis
If flexDirection is row, which axis is the cross axis?
AVertical
BHorizontal
CDiagonal
DNone
Which property controls spacing between items along the main axis?
AflexWrap
BalignItems
CflexDirection
DjustifyContent
Describe how flexDirection, justifyContent, and alignItems work together in a React Native Flexbox layout.
Think about main and cross axes and how items are arranged horizontally or vertically.
You got /4 concepts.
    Explain what happens visually when you set flexDirection: row, justifyContent: space-between, and alignItems: center in a React Native Flexbox container.
    Imagine a row of boxes spaced apart with vertical alignment in the middle.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the flexDirection property control in a React Native Flexbox layout?
      easy
      A. The border style of the container
      B. The color of the container background
      C. The main axis direction of child elements (row or column)
      D. The font size of text inside the container

      Solution

      1. Step 1: Understand flexDirection role

        flexDirection sets whether children are laid out horizontally (row) or vertically (column).
      2. Step 2: Compare options

        Only The main axis direction of child elements (row or column) describes this behavior correctly. Other options relate to unrelated styles.
      3. Final Answer:

        The main axis direction of child elements (row or column) -> Option C
      4. Quick Check:

        flexDirection controls layout direction [OK]
      Hint: Remember: flexDirection sets row or column layout [OK]
      Common Mistakes:
      • Confusing flexDirection with justifyContent or alignItems
      • Thinking flexDirection changes colors or fonts
      • Assuming flexDirection controls spacing
      2. Which of the following is the correct syntax to set a container's children to be arranged in a column in React Native?
      easy
      A. style={{flexDirection: 'row'}}
      B. style={{flexDirection: 'column'}}
      C. style={{justifyContent: 'column'}}
      D. style={{alignItems: 'column'}}

      Solution

      1. Step 1: Identify correct property for layout direction

        The property to set layout direction is flexDirection.
      2. Step 2: Check correct value for vertical layout

        To arrange children vertically, use value 'column'. style={{flexDirection: 'column'}} matches this exactly.
      3. Final Answer:

        style={{flexDirection: 'column'}} -> Option B
      4. Quick Check:

        flexDirection: 'column' sets vertical layout [OK]
      Hint: Use flexDirection with 'row' or 'column' for layout [OK]
      Common Mistakes:
      • Using justifyContent or alignItems to set direction
      • Using invalid values like 'column' for justifyContent
      • Mixing quotes or syntax errors in style object
      3. Given this React Native code snippet, what will be the horizontal alignment of the child boxes inside the container?
        <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'flex-start'}}>
          <View style={{width: 50, height: 50, backgroundColor: 'red'}} />
          <View style={{width: 50, height: 50, backgroundColor: 'blue'}} />
        </View>
      medium
      A. Children are aligned to the left horizontally and centered vertically
      B. Children are aligned to the right horizontally and stretched vertically
      C. Children are spaced evenly horizontally and aligned at the bottom vertically
      D. Children are centered horizontally and aligned at the top vertically

      Solution

      1. Step 1: Analyze flexDirection and justifyContent

        flexDirection: 'row' means children are laid out horizontally. justifyContent: 'center' centers children along this horizontal main axis.
      2. Step 2: Analyze alignItems

        alignItems: 'flex-start' aligns children at the top along the vertical cross axis.
      3. Final Answer:

        Children are centered horizontally and aligned at the top vertically -> Option D
      4. Quick Check:

        Row + justifyContent center + alignItems flex-start = Children are centered horizontally and aligned at the top vertically [OK]
      Hint: Remember: justifyContent aligns main axis, alignItems cross axis [OK]
      Common Mistakes:
      • Mixing up justifyContent and alignItems axes
      • Assuming 'flex-start' aligns horizontally in row direction
      • Ignoring flexDirection effect on axes
      4. Identify the error in this React Native Flexbox style and fix it:
        <View style={{flexDirection: 'column', justifyContent: 'left', alignItems: 'center'}}>
          <Text>Hello</Text>
        </View>
      medium
      A. Change justifyContent: 'left' to justifyContent: 'flex-start'
      B. Change flexDirection: 'column' to flexDirection: 'row'
      C. Remove alignItems property
      D. Change justifyContent: 'left' to justifyContent: 'center'

      Solution

      1. Step 1: Check valid values for justifyContent

        justifyContent accepts values like 'flex-start', 'center', 'flex-end', not 'left'. 'left' is invalid and causes error.
      2. Step 2: Correct the invalid value

        Replace 'left' with 'flex-start' to align children at the start of the main axis.
      3. Final Answer:

        Change justifyContent: 'left' to justifyContent: 'flex-start' -> Option A
      4. Quick Check:

        Use 'flex-start' instead of 'left' for justifyContent [OK]
      Hint: Use flex-start, center, flex-end for justifyContent values [OK]
      Common Mistakes:
      • Using 'left' or 'right' instead of flex-start/flex-end
      • Confusing justifyContent with alignItems values
      • Removing needed alignment properties
      5. You want to create a React Native layout where three boxes are stacked vertically, spaced evenly with equal space above the first and below the last box, and all boxes aligned to the center horizontally. Which style properties should you use on the container?
      hard
      A. {flexDirection: 'column', justifyContent: 'space-around', alignItems: 'center'}
      B. {flexDirection: 'row', justifyContent: 'space-between', alignItems: 'flex-start'}
      C. {flexDirection: 'column', justifyContent: 'space-between', alignItems: 'flex-end'}
      D. {flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}

      Solution

      1. Step 1: Set vertical stacking

        Use flexDirection: 'column' to stack boxes vertically.
      2. Step 2: Space boxes evenly with equal space around

        justifyContent: 'space-around' places equal space above, between, and below children.
      3. Step 3: Center boxes horizontally

        alignItems: 'center' centers children along the horizontal cross axis.
      4. Final Answer:

        {flexDirection: 'column', justifyContent: 'space-around', alignItems: 'center'} -> Option A
      5. Quick Check:

        Column + space-around + center aligns as required [OK]
      Hint: Use space-around for equal spacing above and below [OK]
      Common Mistakes:
      • Using flexDirection: 'row' for vertical stacking
      • Using space-between which lacks space above first and below last
      • Misaligning boxes horizontally with wrong alignItems
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard