【发布时间】: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 规范的情况下修改这样的东西。
【问题讨论】:
-
您是否尝试过使用实际的文档片段作为
render目标? developer.mozilla.org/en-US/docs/Web/API/Document/… -
这不起作用,但即使它起作用了,我仍然必须使用包装节点渲染组件,然后附加到一个无法达到目的的片段。
-
我不清楚您要解决什么问题...是使用虚拟 DOM 来渲染所需的头部吗?如您所见,这绝对不是 React 的最佳选择。
-
@RobbieWxyz 不是真的,但这是一个更好的答案 stackoverflow.com/questions/25034994/… ,虽然我们在 github.com/nfl/react-helmet
标签: reactjs