1

contextType新しい React Context API の一部であるReact プロパティを取得できません。ドキュメントには次のように記載されています。

クラスの contextType プロパティには、React.createContext() によって作成された Context オブジェクトを割り当てることができます。これにより、this.context を使用して、その Context タイプの最も近い現在の値を消費できます。render 関数を含む任意のライフサイクル メソッドでこれを参照できます。

私が何かを見逃していない限り、次のコードがクラスthis.contextで利用可能になるはずです:App

import React from "react";
import ReactDOM from "react-dom";

const MyContext = React.createContext({
  on: false
});

import "./styles.css";

class App extends React.Component {
  render() {
    console.log("context: ", this.context);
    return (
      <div className="App">
        <h1>Hello CodeSandbox</h1>
        <h2>Start editing to see some magic happen!</h2>
      </div>
    );
  }
}
App.contextType = MyContext;

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

(例はこちら)

ただし、このコードを実行すると、ログ ステートメントは空のオブジェクトを出力するだけです。React.createContext関数に提供したデフォルトの状態を出力することを期待していました。

誰かがここで何が起こっているのかを理解するのを手伝ってくれますか?

4

1 に答える 1