Reactコンテキストは未定義を返します

vbotio

React Context apiを使用して、いくつかの状態を異なる子コンポーネントに渡しますが、が返されundefinedます。

親コンポーネント:

export const UserContext = React.createContext();
export class Provider extends Component {
  state = {
    editGroup: false,
  }
  render() {
    return (
      <UserContext.Provider value={{
        state: this.state
      }}>
        {this.props.children}
      </UserContext.Provider>
    )
  }
}

子コンポーネント:

import { UserContext } from './index';

return (
  <React.Fragment>
    <UserContext.Consumer>
      {(context) => (
        <p>im inside the consumer {console.log(context)}</p>
      )}
    </UserContext.Consumer>
  </React.Fragment>
);

この最後console.logはとして戻ってきましたundefined、私はここで何が間違っているのですか?

ヴァルーン

子コンポーネントで、コンシューマーセクションのコンテキストを値(関数パラメーター)に変更します。これは、プロバイダーに渡される小道具です。

<UserContext.Consumer>
  {(value) => ( 
    <p>im inside the consumer {console.log(value)}</p>
  )}
</UserContext.Consumer>

完全に機能するサンプル

    import React, { Component } from 'react'
    const UserContext = React.createContext()

    const Main = () => (
      <Parent>
        <Child/>
      </Parent>
    )

    export default Main

    //***************************************/

    class Parent extends Component {

      state = {
        editGroup: false
      }

      render() {
        return (
          <UserContext.Provider value={{
            state: this.state
          }}>
            {this.props.children}
          </UserContext.Provider>
        )
      }
    }

    //***************************************/

    const Child = () => {
      return (
        <React.Fragment>
          <UserContext.Consumer>
            {(value) => (
              <p>Inside consumer {console.log(value)}</p>
            )}
          </UserContext.Consumer>
        </React.Fragment>
      );
    }

    //***************************************/

出力:状態:{editGroup:false}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Reactコンテキストは未定義を返します

分類Dev

モーダルテキストは未定義を返します

分類Dev

JSON.Stringify()は、テキストではなく未定義を返します

分類Dev

Jest:react-routerテストは未定義の「params」を返します

分類Dev

Reactコンテキスト-「これ」は未定義です

分類Dev

Reactコンテキストは未定義です

分類Dev

Reactコンテキストは未定義です

分類Dev

HTTPクライアントのステータスコードは常に未定義を返します

分類Dev

InnerTextは、コンテンツスクリプトのChrome拡張機能で未定義を返します

分類Dev

角度コンポーネントは未定義を返します

分類Dev

nodejsurl.parseテストは未定義を返します

分類Dev

コンポーネントに小道具を渡すReactは未定義を返します

分類Dev

Reactコンテキスト状態プロパティは未定義です

分類Dev

Page.evaluate()は未定義を返しますが、ステートメントはChromedevToolsで機能します

分類Dev

酵素:ステートレス機能コンポーネントが未定義の小道具を返します

分類Dev

Map関数は、Reactコンポーネントに未定義の要素を含む配列を返します

分類Dev

AngularJSテキストボックスが未定義の値を返します

分類Dev

Reactコンポーネントはデータ行を繰り返します:TypeError:未定義のプロパティ 'map'を読み取れません

分類Dev

React useContext()は未定義を返します

分類Dev

Reactフェッチは未定義を返しますが、コンソールでは応答を返します

分類Dev

Reactフェッチは未定義を返しますが、コンソールでは配列を返します

分類Dev

importステートメントはモジュールメンバーを未定義として返します

分類Dev

console.logは値を返しますが、returnステートメントは未定義ですか?

分類Dev

data.filterまたはmultiifステートメントで未定義で配列を返します

分類Dev

Reactのインポートされた関数は未定義を返します

分類Dev

JavaScriptコンストラクター関数は値を未定義として返します

分類Dev

JS: 'this'コンテキストは、promiseチェーン内で未定義として表示され続けます

分類Dev

Google Script-forinループステートメントは未定義の値を返します

分類Dev

動的スコープは未定義の変数を返します

Related 関連記事

  1. 1

    Reactコンテキストは未定義を返します

  2. 2

    モーダルテキストは未定義を返します

  3. 3

    JSON.Stringify()は、テキストではなく未定義を返します

  4. 4

    Jest:react-routerテストは未定義の「params」を返します

  5. 5

    Reactコンテキスト-「これ」は未定義です

  6. 6

    Reactコンテキストは未定義です

  7. 7

    Reactコンテキストは未定義です

  8. 8

    HTTPクライアントのステータスコードは常に未定義を返します

  9. 9

    InnerTextは、コンテンツスクリプトのChrome拡張機能で未定義を返します

  10. 10

    角度コンポーネントは未定義を返します

  11. 11

    nodejsurl.parseテストは未定義を返します

  12. 12

    コンポーネントに小道具を渡すReactは未定義を返します

  13. 13

    Reactコンテキスト状態プロパティは未定義です

  14. 14

    Page.evaluate()は未定義を返しますが、ステートメントはChromedevToolsで機能します

  15. 15

    酵素:ステートレス機能コンポーネントが未定義の小道具を返します

  16. 16

    Map関数は、Reactコンポーネントに未定義の要素を含む配列を返します

  17. 17

    AngularJSテキストボックスが未定義の値を返します

  18. 18

    Reactコンポーネントはデータ行を繰り返します:TypeError:未定義のプロパティ 'map'を読み取れません

  19. 19

    React useContext()は未定義を返します

  20. 20

    Reactフェッチは未定義を返しますが、コンソールでは応答を返します

  21. 21

    Reactフェッチは未定義を返しますが、コンソールでは配列を返します

  22. 22

    importステートメントはモジュールメンバーを未定義として返します

  23. 23

    console.logは値を返しますが、returnステートメントは未定義ですか?

  24. 24

    data.filterまたはmultiifステートメントで未定義で配列を返します

  25. 25

    Reactのインポートされた関数は未定義を返します

  26. 26

    JavaScriptコンストラクター関数は値を未定義として返します

  27. 27

    JS: 'this'コンテキストは、promiseチェーン内で未定義として表示され続けます

  28. 28

    Google Script-forinループステートメントは未定義の値を返します

  29. 29

    動的スコープは未定義の変数を返します

ホットタグ

アーカイブ