基本上我想将title元素渲染到head元素中,就像这样
<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规范。答案 0 :(得分:2)
修改整个html容器,head等文档片段是完全不可靠的。过去有很多关于此问题的讨论:https://groups.google.com/forum/#!topic/reactjs/4jI5xe7TXzQ以及GH等。
像https://github.com/matthewwithanm/react-frozenhead这样的项目试图根据您提供的内容进行正确的更新,例如使用document.setTitle等更改标题,但是是的。