Реагируйте, как передать компонент с его реквизитом другому компоненту - PullRequest
1 голос
/ 02 апреля 2020

Мне нужно передать оболочку для компонента Test. Эта обертка может быть чем угодно, и ей нужны собственные реквизиты (функция, bool, строка и т. Д.).

function App() {
  return (
    <div className="App">
      <h1>Yo</h1>
      <Test Wrapper={<CustomWrapper text={"yes"} />} />
      <h2>Start editing to see some magic happen!</h2>
    </div>
  );
}

Компонент Test получает его как реквизит и отображает его, включая детей (здесь «Нет»). ')

function Test({ Wrapper }) {
  return (
    <div>
      <Wrapper>
        <div>Nope</div>
      </Wrapper>
    </div>
  );
}

Как правильно это сделать?

1 Ответ

1 голос
/ 02 апреля 2020

Передайте ребенка, как опора будет работать

import React from "react";
import "./styles.css";

export default function App() {
  return (
    <div className="App">
      <h1>Yo</h1>
      <Test Wrapper={CustomWrapper({ text: "yes" })} />
      <h2>Start editing to see some magic happen!</h2>
    </div>
  );
}

const Test = ({ Wrapper }) => {
  return (
    <div>
      <Wrapper children={<div>Nope</div>} />
    </div>
  );
};

const CustomWrapper = props => ({ children }) => {
  return (
    <div>
      {children}
      {props.text}
    </div>
  );
};

enter image description here

Edit awesome-mccarthy-mpxji

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...