Javascript 如何使React.js输出有效的xml而不是html?

Javascript 如何使React.js输出有效的xml而不是html?,javascript,xml,reactjs,Javascript,Xml,Reactjs,我遇到了一个问题,React.js忽略了html中不需要(但XML中需要)的元素的结束标记,例如 例如(jsfiddle:) console.log(React.renderComponentToString()); 将输出 <input data-reactid=".0" data-react-checksum="1975453773"> 这会引发一个错误DOMException:未能在“元素”上设置“innerHTML”属性:提供的标记是无效的XML,因此无法插入到XML

我遇到了一个问题,React.js忽略了html中不需要(但XML中需要)的元素的结束标记,例如

例如(jsfiddle:)

console.log(React.renderComponentToString());
将输出

<input data-reactid=".0" data-react-checksum="1975453773">

这会引发一个错误
DOMException:未能在“元素”上设置“innerHTML”属性:提供的标记是无效的XML,因此无法插入到XML文档中。
如果尝试呈现组件


如何告诉react我希望它向我发送正确的标记?

是的,您需要修改react的源代码

幸运的是它是一个(尽管我还没有测试过):

//主服务器上的reactdomponent.js L178
var closeTag=省略的CloseTags[此._标记]?“”:“”;
//将其更改为:
var closeTag='';

XHTML通常被认为是不相关的。。。仔细看看是否有足够的理由继续使用它。

是的,您需要修改React的源代码

幸运的是它是一个(尽管我还没有测试过):

//主服务器上的reactdomponent.js L178
var closeTag=省略的CloseTags[此._标记]?“”:“”;
//将其更改为:
var closeTag='';

XHTML通常被认为是不相关的。。。仔细看看是否有足够的理由继续使用它。

是的,您需要修改React的源代码

幸运的是它是一个(尽管我还没有测试过):

//主服务器上的reactdomponent.js L178
var closeTag=省略的CloseTags[此._标记]?“”:“”;
//将其更改为:
var closeTag='';

XHTML通常被认为是不相关的。。。仔细看看是否有足够的理由继续使用它。

是的,您需要修改React的源代码

幸运的是它是一个(尽管我还没有测试过):

//主服务器上的reactdomponent.js L178
var closeTag=省略的CloseTags[此._标记]?“”:“”;
//将其更改为:
var closeTag='';

XHTML通常被认为是不相关的。。。仔细看看你是否有足够的理由继续使用它。

这似乎是不可能的。同时,我对源代码进行了编辑,使其不遗漏任何结束标记,但我将保留这个问题,以备其他人有更好的方法。最新的react版本有这样一条说明:
如果可能,react DOM现在会生成与XHTML兼容的标记。
这似乎是不可能的。同时,我对源代码进行了编辑,使其不遗漏任何结束标记,但我将保留这个问题,以备其他人有更好的方法。最新的react版本有这样一条说明:
如果可能,react DOM现在会生成与XHTML兼容的标记。
这似乎是不可能的。同时,我对源代码进行了编辑,使其不遗漏任何结束标记,但我将保留这个问题,以备其他人有更好的方法。最新的react版本有这样一条说明:
如果可能,react DOM现在会生成与XHTML兼容的标记。
这似乎是不可能的。同时,我对源代码进行了编辑,使其不遗漏任何结束标记,但我将保留此问题,以防其他人有更好的方法。最新的react版本有这样一条说明:
如果可能,react DOM现在会生成与XHTML兼容的标记。
<input data-reactid=".0" data-react-checksum="1975453773">
// ReactDOMComponent.js L178 on master
var closeTag = omittedCloseTags[this._tag] ? '' : '</' + this._tag + '>';
// change it to:
var closeTag = '</' + this._tag + '>';