繁体   English   中英

反应如何将带有道具的组件传递给另一个组件

[英]React how to pass a component with its props to another component

我需要将包装器传递给组件测试。 这个包装器可以是任何东西,它需要有自己的道具(函数、布尔值、字符串等等)。

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 将其作为 prop 接收并渲染它,包括子项(此处为“Nope”)

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

这样做的正确模式是什么?

传递孩子作为道具会起作用

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>
  );
};

在此处输入图片说明

编辑 awesome-mccarthy-mpxji

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM