繁体   English   中英

是否可以用React替换DOM元素?

[英]Is it possible to replace DOM elements with React?

我想使用React渲染<section>元素,但仅限于满足某些条件。

问题是我无法将<section>嵌套在<div>所以<body>之外的最高级DOM元素是<section>

我的HTML:

<section id="my_element"></section>

我的反应:

ReactDOM.render(
  <div className="container">
    ...
  </div>,
  document.getElementById('my_element')
);

我知道使用Angular指令,您可以使用replace: true替换原始DOM元素和渲染元素

app.directive('myElement', function(){
  return {
    replace: true,
    ...
    }
  };
});

在React中有类似的东西吗?

目前尚未实施: https//github.com/facebook/react/issues/1311

请按照此问题查看开发: https//github.com/facebook/react/issues/1711

StackOverflow问题有一个解决方法:
React.render替换容器而不是插入
解决方法涉及创建临时div,然后替换节点。

你可以使用一些案例来达到这个目的。 我更喜欢这样做:

render(){
return [<div>test</div>, <div>test2</div>]
}

这是你的问题的答案: https//github.com/facebook/react/issues/2127

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM