我正在尝试输出一些SVG并从列表中输出它们,下面是我的渲染方法:
render() {
const renderTag = () => {
const Tag = this.props.id
return(<Tag />)
}
return (
<div key={this.props.name} className="social-box">
<a className={this.props.id + "-link"}>
{renderTag()}
</a>
</div>
)
}
但是,DOM节点总是小写的,即
我终于找到了答案@汤姆门德尔森几乎得到了答案,但还需要进一步充实。
@ShubhamKhatri建议在render方法之外创建组件的函数实际上完成了这项工作。以下是最终代码:
import React from 'react';
import Facebook from './svg/Facebook';
import LinkedIn from './svg/LinkedIn';
import Twitter from './svg/Twitter';
import Pinterest from './svg/Pinterest';
class SocialMediaBox extends React.Component {
renderElement(item) {
const Components = {
'Facebook': Facebook,
'Twitter': Twitter,
'Pinterest': Pinterest,
'LinkedIn': LinkedIn
}
return React.createElement(Components[item], item);
}
render() {
const Element = this.renderElement(this.props.id)
return
(
<div>
{Element}
</div>
)
}
}
export default SocialMediaBox;
我建议您看看这篇关于动态组件的文章。
文章中最相关的例子是:
import React, { Component } from 'react';
import FooComponent from './foo-component';
import BarComponent from './bar-component';
class MyComponent extends Component {
components = {
foo: FooComponent,
bar: BarComponent
};
render() {
const TagName = this.components[this.props.tag || 'foo'];
return <TagName />
}
}
export default MyComponent;
很可能可以呈现的组件数量有限,因此可以创建一个字典,其中包含组件本身的键(组件名称)(如示例所示),并以这种方式使用它:
import Facebook from './FaceBook';
import Twitter from './Twitter';
const components = {
facebook: Facebook,
twitter: Twitter
};
render() {
return <div key={this.props.name} className="social-box">
<a className={this.props.id + "-link"}>
<components[this.props.id] />
</a>
</div>;
}
这是React的一个技术实现,所有标记在这一行上都是小写的,因为不可能呈现非小写的标记,这是出于设计。
在这里阅读更多。
本文向大家介绍小程序如何写动态标签的实现方法,包括了小程序如何写动态标签的实现方法的使用技巧和注意事项,需要的朋友参考一下 web开发中,尤其使用react开发项目时,我们可以很方便的动态定义标签(jsx) 动态配置标签的好处一是所有逻辑在JS端控制,二是使得我们的模板非常规范,方便后续维护更新,碎片模板可以很好的控制,三是我们可以根据使用场景很方便的配置props的属性,这样在html结构输出的
我第一次接触JSF和JSF标记。xhtml不工作。我的网络。xml文件包含以下代码 我faces.config文件里的代码是 我已经尝试了很多选项,比如将URL映射更改为/faces/*和在Web INF/Lib中包含JAR,但没有用。。。正在寻求帮助。。。。谢谢
问题内容: 尝试在基于SVG的可视化中使用SVG标记元素时遇到问题。我正在将更改添加到Web应用程序中,该更改恰好在每个页面上都包含一个基本标记,以便对CSS文件,javascript文件等的任何引用都可以是相对的。 我下面有一些示例代码可以重现该问题。有一个线元素和一个标记元素定义。该标记元素由其’marker- end’属性中的行通过uri和标记id引用。没有基本标签,箭头显示正常。使用基本标
试图将一些代码从RestTemplate迁移到WebClient。旧代码在RestTemplate调用周围包装了一个用于度量收集的计时器,并根据请求输入添加了两个额外的自定义标记。 我们正在创建一个WebClient,并将MetricsWebCLientFilterFunction作为过滤器添加到构建器中。我还看到了DefaultWebClientExchangeTagsProvider。问题是,
所以我在表单中有一个所见即所得的字段,在检索数据时,html标签没有正确呈现。超文本标记语言标记仍然显示在窗体中。我在这里尝试了一些解决方案,我也相信这是解析laravel刀片中超文本标记语言标签的最佳方式。我也尝试过这样做: 但它仍然失败了。显示的数据仍然是原始数据。 数据 刃锉 更新 DD数据
在我的后端,我有这样的对象,我正在渲染: 我需要获取所有元标记并将它们传递到index.jade: 但一切都崩溃了 我能在这里做什么? 我的错误是: 语法错误:/opt/rrr/yyyy/views/index.jade:7 5 | 链接(rel='stylesheet',type='text/css',href='build/css/app.css') 6|脚本(src='build/js/pl