java - React - 如何将我想要的组件拾取到另一个模块中

标签 java jquery css reactjs

请参阅下面的代码。它是一个带有图像、标题、段落和按钮的 Tile 组件。 我的要求是我想使用此代码来创建多种类型的图 block (模块)。例如没有图像,或者没有段落和按钮。

例如,如何在没有段落和按钮的情况下创建另一个图 block (模块)。 (不创建相同的下面没有段落和按钮的代码)

import React from 'react';
import Image from './../../../../src/components/atoms/image/image';
import Heading from './../../../../src/components/atoms/heading/heading';
import LinkIcon from './../../../../src/components/atoms/link-icon/link-icon';
import Paragraph from './../../../../src/components/atoms/paragraph/paragraph';

function GridTile(props) {
return (
 <div className={`grid-tile ${props.class}`}>
   <a href="#" className="grid-tile__link">
    <div className="grid-tile__image">
      <Image src="" />
    </div>
    <div className="grid-tile__content">
      <Heading
        tag="3"
        class=""
        text="Lorem ipsum dolor sit amet, consectetur adipiscing elit"
      />
      <Paragraph
        tag="p"
        text="Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut 
        aliquip ex ea commodo consequat. "
      />
      <LinkIcon text="Read More" />
    </div>
    </a>
   </div>
 );
}
export default GridTile;

最佳答案

你可以根据你的 Prop 来决定。

const GridTile(props) {

...

{props.showImage && <Image...}
{props.showHeading && <Heading...}

然后,您可以通过以下方式调用 GridTile:

<GridTile showImage={true} showHeading={true} />

如果您想要 defaultProps,这将取决于您的用例,全部为 false,然后在特殊情况下为 true。但基本上,根据您传递的 Prop 或组件中声明的默认 Prop 来显示您所显示的内容。 (或者更好的是默认值。)

关于java - React - 如何将我想要的组件拾取到另一个模块中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61728627/

相关文章:

Javascript 调用函数不可用

javascript - 禁用手动页面刷新并仅允许以编程方式刷新

java - 在 Spring Boot 中处理无效的 PathVariables

javascript - 将多个文本区域存储在不同数组的索引中

java - 是什么导致 FileNotFoundException : . ..pdq.jar 与 db2jcc4?

css - 使用 CSS 设置默认字体

html - 无法将 CSS calc() 与转换一起使用 :translateX in IE

jquery - 如何在移动设备上禁用(而不是隐藏)BxSlider

java - Android:在操作栏上添加 searchView

java - 碰撞检测 - 防止玩家在撞击物体后移动