使用react.js渲染自定义html标签

乔治

首先,我想做的事情很容易,但是我从webpack收到了一个(显然完全没用的)错误,我想知道如何解决这个问题,我想由React来渲染一个简单的“ custom”标签。代码如下:

          let htmlTag = "h" + ele.title.importance;
          let htmlTagEnd = "/h" + ele.title.importance;
          return(
            <{htmlTag} key={elementNumber}>{ele.title.content}<{htmlTagEnd}>
          );

基本上,我不想拥有一个预定义标签,而希望拥有自己的{template}标签,但我知道在这种情况下,可以解决此问题(例如,使用我的“重要性”值定义一个className并为此添加一些CSS),但是为了科学起见,我想知道如何(以及是否)可以在react / jsx中完成。

亚历克斯·杨

编辑

我的最初答案不正确,您不能直接使用变量,而需要使用Felix的answer中描述的createElement方法如下所述,在我最初链接的博客文章中,您可以使用对象属性,因此,我给出了一个示例,希望它可以用作对问题的解答。

class Hello extends React.Component {
    constructor() {
    super();
    this.state = {
        tagName: "h1"
    };
  }

  sizeChange(i) {
    this.setState({
        tagName: 'h' + i
    });
  }

  changeButtons() {
    var buttons = [];
    for (let i=1; i<=6; i++) {
        buttons.push(<button onClick={() => this.sizeChange(i)}>H{i}</button>);
    }
    return buttons;
  }

  render() {
    return (
    <div>
      {this.changeButtons()}
        <this.state.tagName>
        Change Me
      </this.state.tagName>
    </div>
    );
  }
}

JSFiddle在这里

原始答案

可以做到,尽管我认为它不受官方支持,所以将来可能会在没有警告的情况下中断。需要注意的是,为标签选择的变量名称不能与HTML元素相同。

var Demo = React.createClass({
    render: function() {
       const elementTag = 'h' + ele.title.importance;
       return(
           <elementTag>
              Header x contents
           </elementTag>
       );
    }
});

可以在此处找到更多说明和更完整的示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React JSX中的自定义HTML元素标签

如何使用Selenium单击自定义HTML标签

如何使用tinymce发布自定义html标签

使用 BeautifulSoup 查找自定义 HTML 标签

AngularJS在自定义指令的html标签中使用自定义过滤器?

使用react-native的自定义标签

使用* ngFor的自定义模板渲染

使用自定义 QPainter 渲染 QWidget

在react-native-render-html自定义渲染器中提取原始HTML

使用 react-testing-library 使用自定义渲染进行重新渲染

未定义用于创建自定义 HTML 标签的 React 属性

使用matlibplot自定义y标签

使用Plotly自定义标签

标签未使用自定义字体

visjs库-使用svg和自定义html渲染节点网络

Three.js屏幕截图自定义大小(使用屏幕外渲染吗?)

使用three.js将场景渲染到自定义网格上

在Vue.js中使用自定义渲染功能创建文本节点

mapbox gl js:使用中间渲染步骤作为自定义图层的蒙版

ReactJS初学者:关于如何在不使用渲染功能的情况下使用自定义标签

使用React.js条纹自定义表单

React js 使用 CSS 自定义类型文件的输入

在React中为所有html标签创建自定义组件

如何使用 Vue.js 在 Chart.js 中自定义 Y 轴标签?

react-select渲染自定义组件作为SingleValue

如何使用html敏捷包获取自定义标签?

如何使用goquery提取自定义html标签的文本?

不使用自定义HTML标签的原因是什么?

如何使用ng-repeat生成自定义html标签或指令?