繁体   English   中英

为什么在更改发送给子组件(react js)的道具的值时会进行组件重新渲染?

[英]Why is a Component Re-Rendering done when changing the value of the props sent to child Component (react js)?

我在理解 React 中的渲染时遇到问题 我在文档中读到当state发生变化时会发生渲染器usestate-in-react-ecb9952e406c/ ) 当我将 props 传递给另一个组件,然后在 useEffect 之外接收带有弹道的 rubes 时,当 props 的值发生变化时,该变化不会反映在接收的组件中道具。 但是当props的值发生变化时,在普通变量中接收到props的值时,它会执行重新渲染并立即反映变化见这个例子<< https://codesandbox.io/s/ blissful-chatelet-xxb34?file=/src/App.js >> 请帮我解决这个问题,谢谢

组件何时重新渲染

  1. 当其任何 state 的值发生变化时(类或功能组件)
  2. 当 Parent 发送的 props 的值发生变化时(Class of Functional Components)。

所以,这就是重新渲染的基本概念!

例外

您可能会决定,如果父级发送的道具未在您的组件中使用,在这种情况下,您可能会决定将您的组件设置为PURE COMPONENT ,并且只有在这种情况下,道具的更改不会重新渲染您的孩子-零件!

另请阅读: 为什么建议 React 的 PureComponent 使其所有子组件都“纯”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM