Javascript React组件和render方法被调用两次
在我的组件中,构造函数和render方法被调用两次。我从CreateReact应用程序创建了一个全新的项目,它只是应用程序组件之外的一个组件,所以它没有那么复杂,但问题仍然存在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="
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();