Bird
Raised Fist0
React Nativemobile~10 mins

Context API in React Native - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a new context using React Native's Context API.

React Native
import React from 'react';
const MyContext = React.[1]();
Drag options to blanks, or click blank then click option'
AProvider
BuseContext
CConsumer
DcreateContext
Attempts:
3 left
💡 Hint
Common Mistakes
Using useContext instead of createContext
Trying to use Provider or Consumer directly without creating context
2fill in blank
medium

Complete the code to provide a context value to child components.

React Native
import React from 'react';
const MyContext = React.createContext();

export default function App() {
  return (
    <MyContext.[1] value={{ name: 'Alice' }}>
      <ChildComponent />
    </MyContext.[1]>
  );
}
Drag options to blanks, or click blank then click option'
AProvider
BConsumer
CcreateContext
DuseContext
Attempts:
3 left
💡 Hint
Common Mistakes
Using Consumer instead of Provider to supply value
Trying to use useContext here instead of Provider
3fill in blank
hard

Fix the error in the code to consume context inside a functional component.

React Native
import React, { [1] } from 'react';
const MyContext = React.createContext();

function ChildComponent() {
  const context = [1](MyContext);
  return <Text>{context.name}</Text>;
}
Drag options to blanks, or click blank then click option'
AuseContext
BcreateContext
CProvider
DConsumer
Attempts:
3 left
💡 Hint
Common Mistakes
Using createContext instead of useContext to consume
Trying to use Provider or Consumer directly inside functional component
4fill in blank
hard

Fill both blanks to create a context and provide a default value.

React Native
const MyContext = React.[1]([2]);
Drag options to blanks, or click blank then click option'
AcreateContext
BuseContext
C{ name: 'Guest' }
DProvider
Attempts:
3 left
💡 Hint
Common Mistakes
Using useContext instead of createContext
Passing Provider instead of default value
5fill in blank
hard

Fill all three blanks to consume context and display a property safely.

React Native
import React, { [1] } from 'react';
const MyContext = React.createContext();

function Display() {
  const context = [2](MyContext);
  return <Text>{context?.[3] ?? 'No name'}</Text>;
}
Drag options to blanks, or click blank then click option'
AuseContext
Cname
DProvider
Attempts:
3 left
💡 Hint
Common Mistakes
Using Provider instead of useContext
Accessing context property without optional chaining

Practice

(1/5)
1. What is the main purpose of React Native's Context API?
easy
A. To share data easily across many components without passing props manually
B. To style components with CSS
C. To handle navigation between screens
D. To fetch data from a server

Solution

  1. Step 1: Understand Context API's role

    Context API is designed to share data globally in a React app without passing props through every level.
  2. Step 2: Compare options

    Only To share data easily across many components without passing props manually describes this purpose. Others relate to styling, navigation, or data fetching, which are unrelated.
  3. Final Answer:

    To share data easily across many components without passing props manually -> Option A
  4. Quick Check:

    Context API = Share data easily [OK]
Hint: Context API shares data without prop drilling [OK]
Common Mistakes:
  • Confusing Context API with styling or navigation
  • Thinking it fetches data from servers
  • Believing it replaces all props usage
2. Which of the following is the correct way to create a context in React Native?
easy
A. const MyContext = React.useContext();
B. const MyContext = createContext();
C. const MyContext = React.createContext();
D. const MyContext = new Context();

Solution

  1. Step 1: Recall correct syntax for creating context

    React Native uses React.createContext() to create a new context object.
  2. Step 2: Analyze options

    const MyContext = React.createContext(); uses the full correct syntax. const MyContext = createContext(); misses React prefix. new Context(); uses invalid constructor. React.useContext(); calls useContext which is a hook, not for creation.
  3. Final Answer:

    const MyContext = React.createContext(); -> Option C
  4. Quick Check:

    Create context = React.createContext() [OK]
Hint: Use React.createContext() to create context [OK]
Common Mistakes:
  • Omitting React prefix
  • Using new Context() which doesn't exist
  • Confusing useContext hook with createContext
3. Given this code snippet, what will be the output displayed by ChildComponent?
const MyContext = React.createContext('Default');

function Parent() {
  return (
    
      
    
  );
}

function ChildComponent() {
  const value = React.useContext(MyContext);
  return {value};
}
medium
A. Default
B. Error: useContext called outside provider
C. undefined
D. Hello

Solution

  1. Step 1: Identify the Provider value

    The sets the value to "Hello" for all children inside it.
  2. Step 2: Check useContext usage in ChildComponent

    ChildComponent uses React.useContext(MyContext) which reads the nearest Provider's value, which is "Hello".
  3. Final Answer:

    Hello -> Option D
  4. Quick Check:

    useContext reads Provider value = Hello [OK]
Hint: useContext reads nearest Provider value [OK]
Common Mistakes:
  • Thinking default value is used when Provider exists
  • Assuming undefined if value is string
  • Confusing error with missing Provider
4. What is wrong with this React Native Context usage?
const MyContext = React.createContext();

function Parent() {
  return (
    
      
    
  );
}

function Child() {
  const value = React.useContext();
  return {value};
}
medium
A. createContext requires an initial value
B. useContext is called without passing the context object
C. Provider is missing a value prop
D. Child component should not use useContext

Solution

  1. Step 1: Check useContext call in Child

    useContext must be called with the context object as argument, e.g., React.useContext(MyContext).
  2. Step 2: Verify other parts

    Provider has a value prop "Hi" which is correct. createContext can be called without initial value (undefined default). Child can use useContext.
  3. Final Answer:

    useContext is called without passing the context object -> Option B
  4. Quick Check:

    useContext needs context argument [OK]
Hint: Always pass context to useContext() [OK]
Common Mistakes:
  • Calling useContext() with no arguments
  • Thinking createContext must have initial value
  • Believing Provider can omit value prop
5. You want to share a user object across multiple nested components without passing props. Which steps correctly use Context API to achieve this? A) Create context with React.createContext(), wrap components with Provider passing user as value, use useContext in children. B) Pass user as props to every component manually. C) Use useState in every component to store user. D) Use React.createContext() but do not wrap components with Provider.
hard
A. Create context, wrap with Provider passing user, use useContext in children
B. Pass user as props manually to each component
C. Use useState in every component to store user
D. Create context but do not wrap with Provider

Solution

  1. Step 1: Identify correct Context API usage

    To share data globally, create context, wrap components with Provider passing data, and consume with useContext.
  2. Step 2: Eliminate incorrect options

    B passes props manually, not using Context API. C duplicates state unnecessarily. D creates context but no Provider means default or undefined value.
  3. Final Answer:

    Create context, wrap with Provider passing user, use useContext in children -> Option A
  4. Quick Check:

    Context API = create + Provider + useContext [OK]
Hint: Use createContext + Provider + useContext to share data [OK]
Common Mistakes:
  • Skipping Provider wrapping
  • Passing props manually instead of using context
  • Using useState in every component unnecessarily
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