因此,我从来没有真正做到这一点,但是我可能不得不面对第3方库所面临的某个问题。
基本上,做这样的事情不好吗
const fooEl = document.querySelector('.foo-class');
const newDiv = document.createElement('div');
const id = 'testingId';
newDiv.id = id;
foolEl.appendChild(newDiv);
ReactDOM.render(
<FooBarComponent />
document.getElementById(id)
);
如果是这样,还有其他方法可以解决吗?基本上,我正在尝试将组件插入DOM元素。
最佳答案
做这样的事情不好吗...
不,您拥有的代码很好,只是您在,
中忘记了ReactDOM.render()
。
除此之外,没有什么“坏”的地方。如果您改为这样做,则可以用更少的行来达到相同的结果:
const fooEl = document.querySelector('.foo-class');
const newDiv = document.createElement('div');
foolEl.appendChild(newDiv);
ReactDOM.render(
<FooBarComponent />,
newDiv
);
但是,从您的问题尚不清楚,为什么需要将React应用程序安装到
div
的子.foo-class
而不是直接将其安装在foo-class
上-像这样:ReactDOM.render(
<FooBarComponent />,
document.querySelector('.foo-class')
);
关于javascript - react 不好的做法来使用ReactDOM.render和注入(inject)组件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55387140/