Reactjs 为什么会这样?提供的图像

Reactjs 为什么会这样?提供的图像,reactjs,Reactjs,我正在尝试在chrome控制台中写入get标记名和id。使用: console.log(document.getElementById(“Main”)) console.log(document.getElementsByTagName(“span”)) 在react js App.js文件中导出后。但它将null显示为ID和空列表集合 当我在组件内部做同样的事情时,它最终被挂载触发了。。。。 它按预期工作 为什么会这样?在react js中导出后,正确的写入方法是什么。调用堆栈是: rende

我正在尝试在chrome控制台中写入get标记名和id。使用:

console.log(document.getElementById(“Main”)) console.log(document.getElementsByTagName(“span”))

在react js App.js文件中导出后。但它将null显示为ID和空列表集合

当我在组件内部做同样的事情时,它最终被挂载触发了。。。。 它按预期工作

为什么会这样?在react js中导出后,正确的写入方法是什么。

调用堆栈是:

  • render()
  • componentDidMount()
  • 所以,首先打印空控制台,然后 然后转到渲染函数,创建DOM元素 然后转到componentDidMount,再次调用控制台,但这次使用DOM元素

    试着这样做:

    class App extends React.Component{
        componentDidMount(){
               //Your Consoles
        }
        render(){
            return(
                //Your DOM
            )
        }
    }
    export default App;
    

    这是因为这个
    dom
    元素不是create或mounted yet,我能在componentDidMount()之外写它吗?如果是,我在哪里可以?在呈现之前执行的代码是否为null?我建议您深入了解类组件的React生命周期。它会让你对这个话题有一个更清晰的理解。