React.Jsで別のコンポーネントの子としてコンポーネントを作成します

尋ねる

別の親コンポーネントであるコンポーネントを作成します:Containerは親とContainer.Data子です。このようにして、コンポーネントに構造を追加できます。

const Container = ({ children }) => {
  return (
    <div>
      <h1>Container</h1>
      {children}
    </div>
  );
};

const Data = ({ children }) => {
  return <div>{children}</div>;
};

Container.Data = Data;

export { Container };


///

  <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
      <Container>
        <Container.Data>item1</Container.Data>
        <Container.Data>item2</Container.Data>
      </Container>
      <Container.Data>item3</Container.Data>
  </div>

次の問題は次のとおり<Container.Data>item3</Container.Data>です。コンポーネントの外部にあり、機能しますが<Container.Data>item3</Container.Data>、親外部を追加する場合Containerは、エラーが発生します。したがって、すべてのアイテムは内部にのみ存在する必要がありContainerます。
質問:これを行う方法は?
デモ:https//codesandbox.io/s/stupefied-dubinsky-6lh8v?file = / src / Container.js:27-264

ドリューリース

React Contextを使用して、Data「チェックイン」するコンポーネントのコンテキストを作成します提供するdefaultValueプロバイダによって「本当」の値によって上書きされるコンテキストに。コンテキストにサブスクライブされたコンポーネントのツリーで、その上に一致するプロバイダーがない場合、このデフォルト値が使用されます。

import React from "react";

const ContainerContext = React.createContext("containerless");

const Container = ({ children }) => {
  return (
    <ContainerContext.Provider value="Container">
      <div>
        <h1>Container</h1>
        {children}
      </div>
    </ContainerContext.Provider>
  );
};

const Data = ({ children }) => {
  const containerContext = React.useContext(ContainerContext);

  React.useEffect(() => {
    if (containerContext === "containerless") {
      throw new Error("Data Container not contained in Container component");
    }
  });
  return <div>{children}</div>;
};

Container.Data = Data;

export { Container };

create-a-component-as-a-children-of-another-in-react-jsを編集します

アプリ

「item3」データコンテナを出し入れしContainerてテストします。

function App() {
  return (
    <div className="App">
      <Container>
        <Container.Data>item1</Container.Data>
        <Container.Data>item2</Container.Data>
      </Container>
      <Container.Data>item3</Container.Data>
    </div>
  );
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

別のコンポーネントのdefaultPropとしてReactコンポーネントを指定します

分類Dev

子として、またはReactコンポーネントのレンダリング関数内からreactコンポーネントを使用します

分類Dev

React.JS-contenteditabledivのコンテンツをReactコンポーネントとして管理します

分類Dev

React:親の子コンポーネントコンポーネントの状態を取得します

分類Dev

Reactを使用して別のコンポーネントからコンポーネントに追加する

分類Dev

すべてのreact子コンポーネントを更新します

分類Dev

Reactはどのようにして子コンポーネントを再利用しますか/親コンポーネントを再レンダリングするときに子コンポーネントの状態を維持しますか?

分類Dev

Reactを使用して、別のコンポーネントの定義内にコンポーネントを定義することは可能ですか?

分類Dev

あるコンポーネントの状態を別のコンポーネントで使用する方法は?独立したコンポーネント(React)

分類Dev

JSONの要素ごとにReactコンポーネントを作成します

分類Dev

React:関数を小道具として子コンポーネントに渡し、子コンポーネントでonClickを呼び出します

分類Dev

React動的にコンポーネントをダウンロードし、すべての子コンポーネントからデータを取得します

分類Dev

React-onClickで子コンポーネントの動的リストを作成します

分類Dev

react Linkでparamsを使用して、別のコンポーネントでその値を取得しますか?

分類Dev

別のコンポーネントの子の状態がreactで変更されたときにイベントをトリガーします

分類Dev

Reactコンポーネントをパラメーターとして別のReactコンポーネントに渡す

分類Dev

コンテナーコンポーネントの関数間で引数としてReactコンポーネントを渡すことは可能ですか?

分類Dev

コンテナーコンポーネントの関数間で引数としてReactコンポーネントを渡すことは可能ですか?

分類Dev

コンテナーコンポーネントの関数間で引数としてReactコンポーネントを渡すことは可能ですか?

分類Dev

別のコンポーネントを小道具として受け入れるReactコンポーネント、およびそのコンポーネントのすべての小道具を入力するにはどうすればよいですか?

分類Dev

ボタンをクリックすると、Reactコンポーネントを別のコンポーネントに追加します

分類Dev

React:列コンポーネントをテーブルの行コンポーネントとしてレンダリングします

分類Dev

Reactコメントコンポーネント-リストに新しく追加されたコメントコンポーネントをターゲットにして、このコンポーネントのみで関数を実行します

分類Dev

formikを使用してReactで1つのコンポーネントから別のコンポーネントにデータを渡す

分類Dev

React - JSX コンポーネントの配列を作成するとき、オブジェクトは React の子として無効です

分類Dev

Reactの子コンポーネントに関数を渡します

分類Dev

TypeScriptを使用してReactの高次コンポーネントを作成する

分類Dev

Reactの親コンポーネントと子コンポーネントでuseEffectを実行する正しい順序は何ですか?

分類Dev

React JSで特定のキーを使用して子コンポーネントをクリックすると、親コンポーネントの状態が変更されます

Related 関連記事

  1. 1

    別のコンポーネントのdefaultPropとしてReactコンポーネントを指定します

  2. 2

    子として、またはReactコンポーネントのレンダリング関数内からreactコンポーネントを使用します

  3. 3

    React.JS-contenteditabledivのコンテンツをReactコンポーネントとして管理します

  4. 4

    React:親の子コンポーネントコンポーネントの状態を取得します

  5. 5

    Reactを使用して別のコンポーネントからコンポーネントに追加する

  6. 6

    すべてのreact子コンポーネントを更新します

  7. 7

    Reactはどのようにして子コンポーネントを再利用しますか/親コンポーネントを再レンダリングするときに子コンポーネントの状態を維持しますか?

  8. 8

    Reactを使用して、別のコンポーネントの定義内にコンポーネントを定義することは可能ですか?

  9. 9

    あるコンポーネントの状態を別のコンポーネントで使用する方法は?独立したコンポーネント(React)

  10. 10

    JSONの要素ごとにReactコンポーネントを作成します

  11. 11

    React:関数を小道具として子コンポーネントに渡し、子コンポーネントでonClickを呼び出します

  12. 12

    React動的にコンポーネントをダウンロードし、すべての子コンポーネントからデータを取得します

  13. 13

    React-onClickで子コンポーネントの動的リストを作成します

  14. 14

    react Linkでparamsを使用して、別のコンポーネントでその値を取得しますか?

  15. 15

    別のコンポーネントの子の状態がreactで変更されたときにイベントをトリガーします

  16. 16

    Reactコンポーネントをパラメーターとして別のReactコンポーネントに渡す

  17. 17

    コンテナーコンポーネントの関数間で引数としてReactコンポーネントを渡すことは可能ですか?

  18. 18

    コンテナーコンポーネントの関数間で引数としてReactコンポーネントを渡すことは可能ですか?

  19. 19

    コンテナーコンポーネントの関数間で引数としてReactコンポーネントを渡すことは可能ですか?

  20. 20

    別のコンポーネントを小道具として受け入れるReactコンポーネント、およびそのコンポーネントのすべての小道具を入力するにはどうすればよいですか?

  21. 21

    ボタンをクリックすると、Reactコンポーネントを別のコンポーネントに追加します

  22. 22

    React:列コンポーネントをテーブルの行コンポーネントとしてレンダリングします

  23. 23

    Reactコメントコンポーネント-リストに新しく追加されたコメントコンポーネントをターゲットにして、このコンポーネントのみで関数を実行します

  24. 24

    formikを使用してReactで1つのコンポーネントから別のコンポーネントにデータを渡す

  25. 25

    React - JSX コンポーネントの配列を作成するとき、オブジェクトは React の子として無効です

  26. 26

    Reactの子コンポーネントに関数を渡します

  27. 27

    TypeScriptを使用してReactの高次コンポーネントを作成する

  28. 28

    Reactの親コンポーネントと子コンポーネントでuseEffectを実行する正しい順序は何ですか?

  29. 29

    React JSで特定のキーを使用して子コンポーネントをクリックすると、親コンポーネントの状態が変更されます

ホットタグ

アーカイブ