React组件渲染两次调用而未更改状态

aw

我正在渲染一个简单的反应组件,其中没有设置状态和道具

我在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();

似乎组件中的render函数被调用了两次。但是为什么呢?

堆积Q

正如它是在docs中编写的

严格模式无法自动为您检测副作用,但可以通过使其更具确定性来帮助您发现它们。这是通过double-invoking以下方法有意完成的

  • 类组件的构造方法
  • 渲染方法
  • setState更新程序功能(第一个参数)
  • 静态getDerivedStateFromProps生命周期
  • shouldComponentUpdate方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当Redux状态更改时,React-Redux渲染组件在屏幕上出现两次

来自分类Dev

当Redux状态更改时,React-Redux渲染组件在屏幕上出现两次

来自分类Dev

React组件渲染两次且未触发useEffect

来自分类Dev

React setState 在调用时渲染组件两次

来自分类Dev

React类组件渲染两次

来自分类Dev

React组件被渲染两次

来自分类Dev

React Router 组件渲染两次

来自分类Dev

React Hooks:设置组件状态而无需重新渲染两次

来自分类Dev

React组件有时会在状态不变的情况下渲染两次

来自分类Dev

react组件渲染方法无缘无故被调用两次

来自分类Dev

ReactJS 渲染调用两次,状态为空

来自分类Dev

为什么我的React组件渲染两次?

来自分类Dev

React组件使用useState渲染两次

来自分类Dev

ReactJS在子组件内两次调用函数未能两次设置父状态

来自分类Dev

状态更改后,React组件未重新渲染,但正在调用render()

来自分类Dev

检测两次调用的连接状态

来自分类Dev

道具更改时如何更新状态,而无需渲染两次

来自分类Dev

React(Preact)渲染两次内容

来自分类Dev

StateHasChanged()两次重新渲染一次组件

来自分类Dev

为什么在声明状态后我的React渲染两次?

来自分类Dev

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

来自分类Dev

基本React组件两次渲染而没有任何API数据

来自分类Dev

为什么我的React组件在初始加载时渲染两次?

来自分类Dev

React js组件在滚动事件中重新渲染两次

来自分类Dev

为什么React组件在用Observer()包装时会呈现两次渲染?

来自分类Dev

为什么我的组件在react.js 16.x中渲染两次?

来自分类Dev

更新两个状态变量时,该组件被渲染两次是否正常?

来自分类Dev

为什么说明我要渲染两次或调用渲染两次?

来自分类Dev

如果我两次使用相同的react / redux组件,它们会共享状态吗?

Related 相关文章

  1. 1

    当Redux状态更改时,React-Redux渲染组件在屏幕上出现两次

  2. 2

    当Redux状态更改时,React-Redux渲染组件在屏幕上出现两次

  3. 3

    React组件渲染两次且未触发useEffect

  4. 4

    React setState 在调用时渲染组件两次

  5. 5

    React类组件渲染两次

  6. 6

    React组件被渲染两次

  7. 7

    React Router 组件渲染两次

  8. 8

    React Hooks:设置组件状态而无需重新渲染两次

  9. 9

    React组件有时会在状态不变的情况下渲染两次

  10. 10

    react组件渲染方法无缘无故被调用两次

  11. 11

    ReactJS 渲染调用两次,状态为空

  12. 12

    为什么我的React组件渲染两次?

  13. 13

    React组件使用useState渲染两次

  14. 14

    ReactJS在子组件内两次调用函数未能两次设置父状态

  15. 15

    状态更改后,React组件未重新渲染,但正在调用render()

  16. 16

    检测两次调用的连接状态

  17. 17

    道具更改时如何更新状态,而无需渲染两次

  18. 18

    React(Preact)渲染两次内容

  19. 19

    StateHasChanged()两次重新渲染一次组件

  20. 20

    为什么在声明状态后我的React渲染两次?

  21. 21

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

  22. 22

    基本React组件两次渲染而没有任何API数据

  23. 23

    为什么我的React组件在初始加载时渲染两次?

  24. 24

    React js组件在滚动事件中重新渲染两次

  25. 25

    为什么React组件在用Observer()包装时会呈现两次渲染?

  26. 26

    为什么我的组件在react.js 16.x中渲染两次?

  27. 27

    更新两个状态变量时,该组件被渲染两次是否正常?

  28. 28

    为什么说明我要渲染两次或调用渲染两次?

  29. 29

    如果我两次使用相同的react / redux组件,它们会共享状态吗?

热门标签

归档