我有一个简单的RN应用程序,当我调用navigator.push({...})导航到另一个场景时,当前场景向左滑动,新场景从右侧滑入。问题是当前场景滑动得比新场景慢得多(似乎只移动了大约1/4的屏幕宽度),因此在当前场景消失之前,新场景实际上会赶上并与当前场景重叠。
有关如何解决这个问题的想法吗?
RN版本:0.34 导航器(不 NavigatorIOS)
我在模拟器中运行应用程序。
提前致谢。
答案 0 :(得分:3)
测试动画和性能时,应确保不使用chrome调试器或devtools。它很慢的原因是因为你在一台完全不同的机器上运行应用程序JavaScript,并且来回传递消息会有很多开销。
https://github.com/facebook/react-native/issues/5632
您还可以将“开发”模式设置为false,看看它是否有所作为。
在开发模式下运行时,JavaScript线程性能会受到很大影响。这是不可避免的:需要在运行时完成更多工作,以便为您提供良好的警告和错误消息,例如验证propTypes和各种其他断言。
https://facebook.github.io/react-native/docs/performance.html
答案 1 :(得分:0)
好的,我想出来了,这是我自己的错 - 事实证明,出现的场景应该移动大约1/4的屏幕宽度。现场正在“赶上”并在出路时掩盖现场。
我的问题是我的第二个视图没有设置backgroundColor,所以它变得透明,因此两个场景的内容“混合”并且看起来不对。