因此,我从来没有真正做到这一点,但是我可能不得不面对第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/

10-12 12:45