【问题标题】:is it possible to have a component render via a document fragment?是否可以通过文档片段呈现组件?
【发布时间】:2015-04-06 06:18:06
【问题描述】:

基本上我想像这样将标题元素渲染到头部元素中

<head>
  <HeadFragment />
</head>

目前这只能通过实际渲染为组件来实现,但是如果您使用注入头部的外部脚本,这将导致各种问题。

我基本上想要

var HeadFragment = React.createClass({
    render: function () {
        return (<fragment>
            <title>{this.props.title}</title>
            ... meta ...
            ... styles ...
            ... scripts ...
        </fragment>)
    }
});

React.render(<HeadFragment />, document.querySelector('head'));

但片段节点不应是实际的 DOM 节点,而是文档片段。

没有这种支持,整个页面的渲染几乎是不可能的,并且迫使我们做很多其他的事情,以便在不破坏 HTML 规范的情况下修改这样的东西。

【问题讨论】:

标签: reactjs


【解决方案1】:

修改整个 html 容器、head 等文档片段是完全不可靠的。过去有很多关于此的讨论,例如:https://groups.google.com/forum/#!topic/reactjs/4jI5xe7TXzQ 以及 GH 等。

https://github.com/matthewwithanm/react-frozenhead 这样的项目会尝试根据您提供的内容进行正确的更新,例如使用 document.setTitle 更改标题等,但是是的。

【讨论】:

  • 使用您发布的 FrozenHead 解决方案是否也适用于元、样式、脚本...然后只需重新映射标题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
相关资源
最近更新 更多