React Native theorytheory 0/50 · 0%
State management · easy

16. Context API

Sharing state without prop drilling.

`React.createContext` plus a provider lets deeply nested components (like a wallet-connected address needed on many screens) read shared state without threading props through every level.

import { createContext, useContext, useState } from "react";

const WalletContext = createContext<{ address: string | null }>({ address: null });

function WalletProvider({ children }: { children: React.ReactNode }) {
  const [address] = useState<string | null>("0xabc123");
  return <WalletContext.Provider value={{ address }}>{children}</WalletContext.Provider>;
}

function useWallet() {
  return useContext(WalletContext);
}

Context is great for low-frequency, broadly shared values (theme, auth, connected wallet); for high-frequency updates, a dedicated state library often performs better.

Check your understanding

  1. 1. What problem does Context solve?

  2. 2. What two pieces does using Context typically involve?

  3. 3. When might Context be a poor fit?