Bird
Raised Fist0
React Nativemobile~10 mins

Text component in React Native - Mini App: Build & Ship

Choose your learning style10 modes available
Build: Simple Text Screen
This screen shows a simple text message centered on the screen.
Target UI
---------------------
|                   |
|                   |
|   Hello, React!    |
|                   |
|                   |
---------------------
Display a Text component with the message 'Hello, React!'
Center the text horizontally and vertically on the screen
Use default styling for the text
Starter Code
React Native
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

export default function SimpleTextScreen() {
  return (
    <View style={styles.container}>
      {/* TODO: Add Text component here */}
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    // TODO: Center content horizontally and vertically
  },
});
Task 1
Task 2
Solution
React Native
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

export default function SimpleTextScreen() {
  return (
    <View style={styles.container}>
      <Text>Hello, React!</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
});

We added a Text component inside the View to show the message 'Hello, React!'. To center the text, we used justifyContent: 'center' to center vertically and alignItems: 'center' to center horizontally in the container. The container uses flex: 1 to fill the screen space.

Final Result
Completed Screen
---------------------
|                   |
|                   |
|   Hello, React!    |
|                   |
|                   |
---------------------
The text 'Hello, React!' is visible in the center of the screen
No user interaction is required for this screen
Stretch Goal
Change the text color to blue and increase the font size to 24.
💡 Hint
Add a style prop to the Text component with color: 'blue' and fontSize: 24.

Practice

(1/5)
1. What is the primary purpose of the Text component in React Native?
easy
A. To create buttons for user interaction
B. To handle navigation between screens
C. To display readable text on the screen
D. To load images from the internet

Solution

  1. Step 1: Understand the role of Text component

    The Text component is designed to show text content in the app UI.
  2. Step 2: Compare with other components

    Buttons handle clicks, navigation manages screens, images show pictures, so they are different.
  3. Final Answer:

    To display readable text on the screen -> Option C
  4. Quick Check:

    Text component = display text [OK]
Hint: Text component always shows text content [OK]
Common Mistakes:
  • Confusing Text with Button
  • Thinking Text handles navigation
  • Using Text for images
2. Which of the following is the correct way to apply a style to a Text component in React Native?
easy
A. Hello
B. Hello
C. Hello
D. Hello

Solution

  1. Step 1: Identify correct style prop syntax

    React Native uses style={{key: value}} with double curly braces for inline styles.
  2. Step 2: Check each option

    Hello uses correct syntax. Options A, B, C have wrong prop names or wrong value formats.
  3. Final Answer:

    <Text style={{fontSize: 20}}>Hello</Text> -> Option D
  4. Quick Check:

    Style prop = double curly braces object [OK]
Hint: Use style={{key: value}} for styling Text [OK]
Common Mistakes:
  • Using 'styles' instead of 'style'
  • Passing style as string
  • Using array without brackets
3. What will be displayed on the screen when this code runs?
const name = 'Anna';
return <Text>Hello, {name}!</Text>
medium
A. Hello, {name}!
B. Hello, Anna!
C. Hello, name!
D. Syntax Error

Solution

  1. Step 1: Understand JSX expression inside Text

    Curly braces inside Text allow embedding JavaScript variables.
  2. Step 2: Substitute variable value

    The variable name is 'Anna', so it replaces {name} with 'Anna'.
  3. Final Answer:

    Hello, Anna! -> Option B
  4. Quick Check:

    JSX variable inside Text = replaced value [OK]
Hint: Use curly braces to show variables inside Text [OK]
Common Mistakes:
  • Showing variable name as string
  • Forgetting curly braces
  • Syntax errors in JSX
4. Identify the error in this React Native code snippet:
return <Text style={{fontSize: 18, color: 'blue'}}>Welcome</Text>;
medium
A. No error, code is correct
B. Extra semicolon after Text component
C. Missing closing tag for Text
D. Incorrect style object syntax

Solution

  1. Step 1: Check JSX syntax

    The Text component is properly opened and closed with correct style prop syntax.
  2. Step 2: Verify semicolon usage

    Semicolon after JSX return is allowed in JavaScript; no syntax error.
  3. Final Answer:

    No error, code is correct -> Option A
  4. Quick Check:

    Valid JSX with style and semicolon [OK]
Hint: JSX can end with semicolon; style object must be valid [OK]
Common Mistakes:
  • Thinking semicolon breaks JSX
  • Missing closing tag
  • Wrong style syntax
5. You want to display a greeting that changes based on the time of day inside a Text component. Which code correctly shows "Good morning" if before noon, otherwise "Good afternoon"?
hard
A. {new Date().getHours() < 12 ? 'Good morning' : 'Good afternoon'}
B. new Date().getHours() < 12 ? 'Good morning' : 'Good afternoon'
C. {if (new Date().getHours() < 12) 'Good morning' else 'Good afternoon'}
D. {new Date().getHours() < 12 && 'Good morning'}

Solution

  1. Step 1: Use JavaScript expression inside Text

    Curly braces allow embedding JS expressions like ternary operator.
  2. Step 2: Check syntax correctness

    {new Date().getHours() < 12 ? 'Good morning' : 'Good afternoon'} uses correct ternary syntax. new Date().getHours() < 12 ? 'Good morning' : 'Good afternoon' misses braces, so shows text literally. {if (new Date().getHours() < 12) 'Good morning' else 'Good afternoon'} uses invalid if-else inside JSX. {new Date().getHours() < 12 && 'Good morning'} uses logical operators incorrectly and shows nothing in the afternoon.
  3. Final Answer:

    <Text>{new Date().getHours() < 12 ? 'Good morning' : 'Good afternoon'}</Text> -> Option A
  4. Quick Check:

    Ternary inside Text with braces = correct [OK]
Hint: Use ternary operator inside braces for conditional Text [OK]
Common Mistakes:
  • Missing braces for JS expression
  • Using if-else directly inside JSX
  • Using && and || incorrectly
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