Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何删除react 15.0.2中添加的常量周围的exta元素_Reactjs - Fatal编程技术网

Reactjs 如何删除react 15.0.2中添加的常量周围的exta元素

Reactjs 如何删除react 15.0.2中添加的常量周围的exta元素,reactjs,Reactjs,我使用的是reactjs 15.0.2,但当我在render中添加常量时,它会继续在其周围添加额外的元素,如下所示。我想从它干净的html React输出如下: <p data-reactid="49"> <!-- react-text: 50 -->Join the <!-- /react-text --><!-- react-text: 51 -->Hello 1<!-- /react-text --><

我使用的是reactjs 15.0.2,但当我在render中添加常量时,它会继续在其周围添加额外的元素,如下所示。我想从它干净的html

React输出如下:

<p data-reactid="49">
    <!-- react-text: 50 -->Join the
        <!-- /react-text --><!-- react-text: 51 -->Hello 1<!-- /react-text --><!-- react-text: 52 -->Testing
    <!-- /react-text -->     
</p>
export default class Test extends React.Component {
render() {
const text1 = 'Hello 1';
return (
    <p>Join the {text1} Tesing</p>)
}
}
res.send(`<!doctype html>
  ${ReactDOM.renderToString(<Html assets={webpackIsomorphicTools.assets()} store={store} />)}`);

加入 你好1测试

代码如下:

<p data-reactid="49">
    <!-- react-text: 50 -->Join the
        <!-- /react-text --><!-- react-text: 51 -->Hello 1<!-- /react-text --><!-- react-text: 52 -->Testing
    <!-- /react-text -->     
</p>
export default class Test extends React.Component {
render() {
const text1 = 'Hello 1';
return (
    <p>Join the {text1} Tesing</p>)
}
}
res.send(`<!doctype html>
  ${ReactDOM.renderToString(<Html assets={webpackIsomorphicTools.assets()} store={store} />)}`);
导出默认类测试扩展React.Component{
render(){
const text1='Hello 1';
返回(
加入{text1}测试

) } }
对于要在节点中发送html的服务器,我使用的代码如下:

<p data-reactid="49">
    <!-- react-text: 50 -->Join the
        <!-- /react-text --><!-- react-text: 51 -->Hello 1<!-- /react-text --><!-- react-text: 52 -->Testing
    <!-- /react-text -->     
</p>
export default class Test extends React.Component {
render() {
const text1 = 'Hello 1';
return (
    <p>Join the {text1} Tesing</p>)
}
}
res.send(`<!doctype html>
  ${ReactDOM.renderToString(<Html assets={webpackIsomorphicTools.assets()} store={store} />)}`);
res.send(`
${ReactDOM.renderToString()}`);

我希望在这里使用干净的html作为“Hello 1测试”

这些注释和
数据reactid
s由React内部使用,以在道具/状态更改时更新文本。当呈现为静态标记时,您显然不需要它们,因为HTML发送到浏览器后不会发生进一步的更改

幸运的是,
react-dom/server
中有
renderToStaticMarkup
方法,这似乎正是您所要寻找的

从“react dom/server”导入ReactDOMServer;
/* ... */
res.send(`
${ReactDOMServer.renderToStaticMarkup()}`);

我尝试了renderToStaticMarkup,但给出了相同的输出。我对数据reactid很满意,但我不需要这些react文本元素