Javascript React组件和render方法被调用两次

Javascript React组件和render方法被调用两次,javascript,reactjs,constructor,rendering,Javascript,Reactjs,Constructor,Rendering,在我的组件中,构造函数和render方法被调用两次。我从CreateReact应用程序创建了一个全新的项目,它只是应用程序组件之外的一个组件,所以它没有那么复杂,但问题仍然存在 import React from "react"; import logo from "./logo.svg"; import "./App.css"; import First from "./First"; function App() { return ( <div className="

在我的组件中,构造函数和render方法被调用两次。我从CreateReact应用程序创建了一个全新的项目,它只是应用程序组件之外的一个组件,所以它没有那么复杂,但问题仍然存在

  import React from "react";
import logo from "./logo.svg";
import "./App.css";
import First from "./First";

function App() {
  return (
    <div className="App">
      <First />
    </div>
  );
}

export default App;

从“React”导入React;
从“/logo.svg”导入徽标;
导入“/App.css”;
首先从“/First”导入;
函数App(){
返回(
);
}
导出默认应用程序;
import React,{Component}来自“React”;
类首先扩展组件{
静态计数=0;
建造师(道具){
超级(道具);
this.state={};
控制台日志(“ctor”);
警觉者;
}
render(){
第一,计数++;
log(“呈现方法”,First.count);
返回你好世界;
}
}
首先导出默认值;

所有其他生命周期钩子只呈现一次,没有任何问题。

您的代码很好,构造函数和呈现方法仅在我在计算机中尝试过一次后才被调用


这可能是因为index.js文件中的ReactStrictMode

ReactDOM.render(

您好,我记不清原因,但我想可能是Chrome造成的。请尝试使用其他浏览器。我隐约记得有类似的问题。感谢您的回复。我发现了我的应用程序的问题。在我的create react应用程序中,应用程序组件在react.StrictMode中呈现
import React, { Component } from "react";

class First extends Component {
  static count = 0;
  constructor(props) {
    super(props);
    this.state = {};
    console.log("ctor");
    alert("ctor");
  }
  render() {
    First.count++;
    console.log("Render method", First.count);

    return <div>Hello World</div>;
  }
}

export default First;
ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);
serviceWorker.unregister();