A component calling useContext (or rendering a Context.Consumer) only sees the value from the nearest matching Provider above it in the tree. If that component is rendered outside any Provider — or under the wrong instance of one, in an app with multiple providers for the same context — it silently falls back to the default value passed to createContext(), with no error thrown.