Reactjs ReactDOM渲染->;DOMParser->;查询选择全部->;返回空值 const temp=document.createElement('div'); render(组件、临时); const parsed=new DOMParser().parseFromString( temp.innerHTML, “文本/html” ); 已解析。querySelectorAll(选择器);//

Reactjs ReactDOM渲染->;DOMParser->;查询选择全部->;返回空值 const temp=document.createElement('div'); render(组件、临时); const parsed=new DOMParser().parseFromString( temp.innerHTML, “文本/html” ); 已解析。querySelectorAll(选择器);//,reactjs,domparser,react-dom,selectors-api,Reactjs,Domparser,React Dom,Selectors Api,与许多这样的bug一样,这一个归结为竞争条件。渲染时间过长,parseFromString的第一个参数无法同步使用。使用ReactDOM.render的可选回调修复了此问题 我创建了一个简单的示例,可以很好地处理我创建的虚拟数据。什么是组件和选择器?这些是唯一不同于我创建的简单测试用例的东西。 const temp = document.createElement('div'); ReactDOM.render(component, temp); const parsed = new DOMPa

与许多这样的bug一样,这一个归结为竞争条件。渲染时间过长,parseFromString的第一个参数无法同步使用。使用ReactDOM.render的可选回调修复了此问题

我创建了一个简单的示例,可以很好地处理我创建的虚拟数据。什么是
组件
选择器
?这些是唯一不同于我创建的简单测试用例的东西。
const temp = document.createElement('div');
ReactDOM.render(component, temp);
const parsed = new DOMParser().parseFromString(
  temp.innerHTML,
  'text/html'
);
parsed.querySelectorAll(selector); // <- returns null rather than NodeList
const temp = document.createElement('div');
ReactDOM.render(component, temp, () => {
  const parsed = new DOMParser().parseFromString(
    temp.innerHTML,
    'text/html'
  );
  const selected = parsed.querySelectorAll(selector);
});