我正在渲染一个简单的React组件,其中未设置状态和属性
我在render函数内仅记录一次文本到控制台,但它被记录了两次:
rendering counter
rendering counter
以下是组件 counter.js 的代码。
import React, { Component } from "react";
class Counter extends Component {
render() {
console.log("rendering counter"); //this is printed two times
return <span className={"badge m-3 badge-primary"}>counter</span>;
}
}
export default Counter;
并且index.js
import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import * as serviceWorker from "./serviceWorker";
import "bootstrap/dist/css/bootstrap.css";
import Counter from "./components/counter";
ReactDOM.render(
<React.StrictMode>
<Counter />
</React.StrictMode>,
document.getElementById("root")
);
serviceWorker.unregister();
看起来组件中的渲染函数被调用了两次。但是为什么呢?