<div id="react-root"></div>
const UserContext = React.createContext({});

// Любой компонент внутри блока <UserContext.Provider>
class GreetingComponent extends React.Component {
  // Определяем тип контекста
  static contextType = UserContext;
  render() {
    // Получаем доступ к контексту через this.context
    const { context } = this;
    const { name } = context;
    return `Hello, ${name}!`;
  }
}

class App extends React.Component {
  render() {
    return <GreetingComponent />;
  }
}

const currentUser = { name: "Toto" };

const dom = (
  <UserContext.Provider value={currentUser}>
    <App />
  </UserContext.Provider>
);

const mountNode = document.getElementById("react-root");
const root = ReactDOM.createRoot(mountNode);
root.render(dom);
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/react/18.0.0/umd/react.production.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.0.0/umd/react-dom.production.min.js