当react js中的任何状态发生变化时,如何停止重新渲染子组件?

用户10328862

我有一个父组件,在其中我包含了一个带有道具的子组件。但是当父组件中的任何状态发生变化(与子组件无关)时,子组件将重新渲染。我不希望在每次状态更改时都重新渲染。我们可以停下来吗?

import React, { useState } from "react";
import ReactDOM from "react-dom";
import Child from "./child";
import "./styles.css";

function App() {
  const [any_state, setAnyState] = useState(false);

  const handleClick = () => {
    setAnyState(!any_state);
  };
  return (
    <div className="App">
      Parent Page ({any_state ? "true" : "false"})
      <br />
      <button onClick={handleClick}>Click me</button>
      <Child data={"any data"} />
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

孩子.js

import React from "react";

function Child(props) {
  console.log("child component");
  return <div className="App">child Page</div>;
}

export default Child;

https://codesandbox.io/s/clever-oskar-fpxm3?fontsize=14

我不希望在每次状态更改时都在控制台中显示“子组件”。

罗德里戈·埃勒斯

你想用React.memo这个。在这里阅读更多

这将防止在道具没有改变时重新渲染。

而不是export default Child;export default React.memo(Child);你的child.js

import React from "react";

function Child(props) {
  console.log("child component");
  return <div className="App">child Page</div>;
}

export default React.memo(Child);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何递归地渲染react.js中的子组件

来自分类Dev

在React中重新渲染子组件或更改子状态

来自分类Dev

即使该组件的道具或状态未发生变化,React shouldComponentUpdate()也会被调用

来自分类Dev

AngularJS 1.5当模板组件内部的内容发生变化时,如何获取事件

来自分类Dev

从页面导航和返回页面时CSS发生变化-React

来自分类Dev

当父状态改变时,如何更新(重新渲染)React中的子组件?

来自分类Dev

如何监视React组件中的网络状态变化

来自分类Dev

React组件没有使用相同的道具重新渲染,但是子状态发生了变化

来自分类Dev

React / react钩子:状态更改后子组件是否未重新渲染?

来自分类Dev

当父状态在React中更改时停止渲染子组件

来自分类Dev

当上下文使用者中的任何状态发生变化时,React是否会重新渲染所有组件?

来自分类Dev

如何避免在React中重新渲染组件?

来自分类Dev

当父母的道具发生变化时,不重新渲染孩子

来自分类Dev

React.js如何重新渲染组件?

来自分类Dev

如何在React Native中不使用任何API调用的情况下重新渲染组件?

来自分类Dev

在重新渲染父组件时,React如何重用子组件/保持子组件的状态?

来自分类Dev

React组件正在重新渲染从状态中移除的项目

来自分类Dev

react native:如何在状态更改时停止子组件的重新呈现?

来自分类Dev

状态更改后,React不重新渲染,我该如何设置子组件的setState?

来自分类Dev

在react中,当孩子发生变化时如何引起注意?

来自分类Dev

当React-Redux中的redux状态发生变化时,如何将redux状态分配给react状态?

来自分类Dev

如果特定道具发生变化,则重新渲染整个组件

来自分类Dev

当Vue中的路由参数发生变化时访问`from`组件

来自分类Dev

当 Store 中对象中的数据发生变化时更新 React

来自分类Dev

父组件状态发生变化时向子组件发送props,子组件的状态始终落后

来自分类Dev

React 重新渲染重置组件的悬停状态

来自分类Dev

当 Reactjs 中的状态发生变化时,从 onDragEnd 的滑块获取数据

来自分类Dev

当绘制数据的列内容因使用反应元素而发生变化时,如何触发绘图的重新渲染

来自分类Dev

当应用程序中的状态发生变化时,React Fullpage TypeError 未定义

Related 相关文章

  1. 1

    如何递归地渲染react.js中的子组件

  2. 2

    在React中重新渲染子组件或更改子状态

  3. 3

    即使该组件的道具或状态未发生变化,React shouldComponentUpdate()也会被调用

  4. 4

    AngularJS 1.5当模板组件内部的内容发生变化时,如何获取事件

  5. 5

    从页面导航和返回页面时CSS发生变化-React

  6. 6

    当父状态改变时,如何更新(重新渲染)React中的子组件?

  7. 7

    如何监视React组件中的网络状态变化

  8. 8

    React组件没有使用相同的道具重新渲染,但是子状态发生了变化

  9. 9

    React / react钩子:状态更改后子组件是否未重新渲染?

  10. 10

    当父状态在React中更改时停止渲染子组件

  11. 11

    当上下文使用者中的任何状态发生变化时,React是否会重新渲染所有组件?

  12. 12

    如何避免在React中重新渲染组件?

  13. 13

    当父母的道具发生变化时,不重新渲染孩子

  14. 14

    React.js如何重新渲染组件?

  15. 15

    如何在React Native中不使用任何API调用的情况下重新渲染组件?

  16. 16

    在重新渲染父组件时,React如何重用子组件/保持子组件的状态?

  17. 17

    React组件正在重新渲染从状态中移除的项目

  18. 18

    react native:如何在状态更改时停止子组件的重新呈现?

  19. 19

    状态更改后,React不重新渲染,我该如何设置子组件的setState?

  20. 20

    在react中,当孩子发生变化时如何引起注意?

  21. 21

    当React-Redux中的redux状态发生变化时,如何将redux状态分配给react状态?

  22. 22

    如果特定道具发生变化,则重新渲染整个组件

  23. 23

    当Vue中的路由参数发生变化时访问`from`组件

  24. 24

    当 Store 中对象中的数据发生变化时更新 React

  25. 25

    父组件状态发生变化时向子组件发送props,子组件的状态始终落后

  26. 26

    React 重新渲染重置组件的悬停状态

  27. 27

    当 Reactjs 中的状态发生变化时,从 onDragEnd 的滑块获取数据

  28. 28

    当绘制数据的列内容因使用反应元素而发生变化时,如何触发绘图的重新渲染

  29. 29

    当应用程序中的状态发生变化时,React Fullpage TypeError 未定义

热门标签

归档