gpt4 book ai didi

react-native - 什么是react-native中的 'layout-only view removal'优化?

转载 作者:行者123 更新时间:2023-12-03 13:32:07 27 4
gpt4 key购买 nike

React Native 在 View 上公开了某些属性,例如 testID对于 native 测试非常有用,但附加了以下注释

This disables the 'layout-only view removal' optimization for this view!

搜索了一段时间后,我找不到描述此优化的信息。重要吗?是否可以仅在开发模式/开发目标中设置这些测试 ID?也就是说,否则它们将是未定义的?

最佳答案

当 RN 从影子节点树创建 native View 时 - 它会执行一些优化。在构建 native 层次结构时,可以删除实际未在屏幕上显示的 View (不绘制任何内容或仅在 JSX 中用于包含和布局其 subview )。这就是为什么它们被称为“仅布局” View 。

正如此警告所示,带有 testID 属性的 View 不会被删除,即使它是“仅布局” View ,因此当您执行 e2e 测试时它实际上会在那里。

一般来说,渲染大量 View 可能会导致性能问题,但在某些 View 上使用 testID 不会对性能产生明显的影响,因为:

  1. 您可能没有太多带有 testID 的 View
  2. 大多数带有 testID 的 View 可能都不是“仅布局” View ,因此无论您是否使用此属性,对于优化都没有什么区别。

如果您确实有带有 testID 的“仅布局” View ,则将 testID 移动到更合适的 View 会更容易。

关于react-native - 什么是react-native中的 'layout-only view removal'优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com