ReactJS在HTML中创建额外的跨度
ReactJS creating extra spans in HTML
我已经开始做一个项目,并继承了大量的ReactJS,我正在尝试整理和更好地理解。 目前,我正在尝试在我正在处理的应用程序中解决一个小问题。
下面是渲染的代码:
render: function() {
return (
<div className="finish-content-container">
<div className='finish-instructions'>
<span>
{this.props.finishInfo.startpage.instructions || ""}
</span>
</div>
{
this.props.userData.score && !this.props.finishInfo.finishpage.hideScore ?
<div className="finish-results">
<span>{"Your Score: " + (this.props.userData.score || "")}</span>
</div> : ""
}
{
this.props.finishInfo.finishpage && this.props.finishInfo.finishpage.graph ?
<div className="finish-graph">
<div dangerouslySetInnerHTML={{__html: processStoredGraph(this.props.finishInfo.finishpage.graph, 250, 450)}}></div>
</div> : ""
}
{
this.props.userData.score && this.props.finishInfo.finishpage && this.props.finishInfo.finishpage.feedback ?
<div className='finish-results-feedback'>
{this._getConditionalText(this.props.finishInfo.finishpage.feedback, this.props.userData.score)}
</div> : ""
}
<div className="finish-content" dangerouslySetInnerHTML={{__html: this.props.finishInfo.startpage.content}}></div>
<div className="finish-button">
<span onClick={this.props.onClick} className="btn finish">REPLAY</span>
</div>
</div>
);
},
这是正在发生的事情:所有逻辑似乎都工作正常,但它在 HTML 中创建附加跨度,并且这些跨度占用了页面上的空间,即使它们没有数据。
有什么想法吗?如果有帮助的话,我可以包含页面的 HTML 输出。
回答您的问题:React 出于各种原因在 DOM 中插入跨度,包括包装浮动文本节点(请参阅此答案)、空格(请参阅此答案)以及(我认为)为从 render
方法返回null
的组件设置占位符等。如果这给您带来了问题,可能是因为您使用的是对所有span
元素或组件范围内的所有span
元素进行操作的 CSS。放弃CSS,或者让它特定于它需要样式的元素,你应该没问题。
在我看来,React 在这里的方法符合 span
元素的意图,如果不与特定类相关联,它应该是一个布局无操作。
相关文章:
- 从Javascript和Php变量创建Html模板文档
- 为非列表项目创建HTML实时搜索
- 使用javascript动态创建html内容/元素
- 如何使用jQuery动态创建HTML输入
- 在 JQUERY 中创建 HTML 后,Jquery 方法不起作用
- 使用HTML标记中的JS变量在Javascript中动态创建HTML
- 如何使用jQuery和乘法行和列创建HTML表
- MVC 4:使用 JQUERY 和 PartViewResult 动态创建 HTML 文本框.如果代码是动态添加的,如何
- 如何将函数绑定到使用链接函数创建 HTML 的角度指令
- 我需要使用AngularJS从JSON文件创建HTML元素
- 从Ajax Arraybuffer响应类型创建HTML画布
- 创建HTML对象的Javascript与创建HTML字符串的比较
- 在动态创建html元素之后,是否可以触发事件
- 如何在动态创建html时实现分层标题组织
- 如何从输入到url的路径创建html文件
- 从sql server中用javascript创建HTML表
- 如何在表单中创建html元素,而无需重新加载页面
- 做全栈JavaScript框架在客户端或服务器上创建HTML
- 使用JQuery创建HTML父标记
- 在服务器端创建html元素VS将数据作为JSON获取,并使用javascript创建标签