构造函数和渲染方法在反应组件中运行两次

Man*_*noj 4 reactjs

我创建了一个反应项目并添加了构造函数和渲染方法,在运行它时我期望构造函数和渲染只运行一次,但两者都运行了两次。第一个构造函数运行两次,然后渲染。有人可以帮忙吗,我的其他生命周期方法也是如此。


import React, {Component} from 'react';
class App extends Component {
  constructor(props) {
    super(props)
    console.log('Constructor')
  }

  render() {
    console.log('render')
    return (
      <h1>My Favorite Color is </h1>
    );
  }
}
export default App;
Run Code Online (Sandbox Code Playgroud)

这是我的 index.js .. 它是如何被调用的


import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

Run Code Online (Sandbox Code Playgroud)

<code>这是我的输出</code>

Man*_*noj 7

它对我有用,如果我替换下面的代码

ReactDOM.render(
    <React.StrictMode>
      <App />
    </React.StrictMode>,
    document.getElementById('root')
  )
Run Code Online (Sandbox Code Playgroud)

通过下面的行(但上面的代码是我使用 create-react-app 命令创建项目时获得的默认代码。

ReactDOM.render(<App />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

851 次

最近记录:

5 年,4 月 前