javascript - 如何呈现包含打开但未关闭标签的组件? react .js

标签 javascript html reactjs conditional-rendering

我的目标是制作一个组件,它使用嵌套的 ul 标签渲染卡片,如下所示: needed 从这样的数据中,它是通过父组件的 Prop 传递下来的: data

为此,我在嵌套 ul 应该开始的行的末尾设置了标记,例如":"当嵌套的 ul 应该打开和 "."嵌套的 ul 应该关闭的时间。但要使这段代码正常工作,我需要呈现打开但不关闭的标签

let inUl = false;
<div className="cardBody">
        {props.body.map((el, index) => {
          if(el.endsWith(":")){
            inUl = true;
            return <li>{el}<ul>
          } else if(inUl && el.endsWith('.')){
            inUl = false;
            return <li>{el}</li></ul>
          } else {
            return <li>{el}</li>
          }
        })}
  </div>

任何帮助将不胜感激,我的截止日期很近,现在我真的被困在项目的最后一部分 - 这个。

最佳答案

But to make this code work, I need to render opened, but not closed tags.

这是对 React 工作原理的根本误解。您在源代码中使用标签来定义元素,这些元素是对象。你不能有一个没有结束标签的开始标签,就像你不能有一个没有结束 } 的对象初始值设定项的开始 { 一样。

相反,您有一个通过 children 的组件到,并在其组件内呈现子项。例如:

const UnorderedList = props => <ul>{props.children}</ul>;

...像这样使用(即在某处的render中):

return <UnorderedList><li>...</li><li>...</li></UnorderedList>;

关于javascript - 如何呈现包含打开但未关闭标签的组件? react .js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52811428/

相关文章:

javascript - 关于使用 jquery 将图像源更改为另一个图像的源

javascript - 如何让不相关的组件影响主 App 状态?

reactjs - react : how to comment HTML inside a render method

javascript - 根据 anchor 击更改 InnerHTML

javascript - 根据页面的哪一部分可见,如何在网页上设置 float /固定元素?

javascript - 使用 id 声明元素并在同一 JSX 中访问它

reactjs - 如何在react-awesome-slider上添加按钮或文本

javascript - jquery if语句动画返回

javascript - 在html中创建动态id

html - 悬停显示文本