首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React -渲染组件的工作方式

React -渲染组件的工作方式
EN

Stack Overflow用户
提问于 2017-10-08 20:51:22
回答 3查看 59关注 0票数 0

我对react组件的工作原理有点困惑。假设我有3个组件类A、B和C。A包含B和C,我想在HTML页面中呈现A

代码语言:javascript
复制
class A extends Component {
  render() {
    return (
      <B />
      <C />
    );
  }
}

如果我改变组件C内部的状态,是组件B也被重新呈现,还是只有组件C被重新呈现?谢谢:D

EN

回答 3

Stack Overflow用户

发布于 2017-10-08 21:39:25

不仅仅是C更新还是B更新,我认为这是一个关于协调算法如何工作的问题。当您执行状态更新时,React会将其与Virtual DOM中的副本进行比较,并找出进行更改的最简单方法。

正如您所看到的,当您在B上执行更新时,只有B更新。

C,只更新C语言。

但是当你在A (称为App)上执行更新时,A、B和C都会更新。

下面是我用来分析https://codesandbox.io/s/8n9rx1py5j的代码库

您可以从React docs了解如何在Chrome中执行性能分析

票数 1
EN

Stack Overflow用户

发布于 2017-10-08 20:57:37

仅组件C,并且仅当更改的状态影响渲染函数的输出时。

票数 0
EN

Stack Overflow用户

发布于 2017-10-08 21:48:28

还有什么比使用沙箱更好地理解发生了什么呢?我已经设置了一个沙箱来帮助解决同样的问题-- https://codesandbox.io/s/388wxk9321

打开控制台并单击按钮,以递增ModuleBModuleC中的计数器,然后从ModuleA重置状态

懒惰的人

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46631291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档