我的问题是,我需要为后端创建的元素渲染单独的路由组件。我确定这是不规则的。本质上,我是从html文档开始的,需要将路由组件呈现到dom中的特定元素。
示例:
如果我有四个组件,每个组件都需要呈现为一个预先生成的元素。
<body>
<div id="elone" />
<div id="eltwo" />
<div id="elthree" />
<div id="elfour" />
</body>
现在我需要将我自己的组件呈现给每个元素。问题是,如果我在组件内调用ReactDOM.render,它将无法识别路由器,而且似乎也没有路由可以呈现给特定元素。
注意:很遗憾,我无法在JS中编写文档,它必须是预先生成的。如果还有其他解决方案,我不需要通过React Router来完成,但是组件必须能够识别路由器。
答案 0 :(得分:0)
我讨厌回答自己的问题,这使得似乎没有人真正在这里回答问题。
无论如何,解决方案是在组件内使用ReactDOM.createPortal而不是ReactDOM.render。确保使用路由器将组件呈现到要门户网站子组件的容器之外的元素,否则显然会破坏门户网站指向的元素。