7

我注意到,当我浏览应用程序时,所有屏幕都被重新渲染,即使它们不是活动的(可见的)。唯一的例外是 TabNavigator 中将 LazyLoad 设置为 true 的屏幕。如果是,我如何抑制渲染 i 并仅在可见时触发渲染

4

2 回答 2

2

您应该使用 shouldComponentUpdate 来检查来自 redux 的数据,以决定是否需要重新渲染您的组件。它在反应中使用相同的 api。你可以在这里查看:https ://facebook.github.io/react/docs/react-component.html#shouldcomponentupdate

于 2017-04-25T12:21:25.617 回答
0

这不是反应导航的工作方式。如果组件已被垃圾收集,它会重新渲染组件。例如,如果您浏览太多页面并返回第一页,它将被重新渲染。但在另一种情况下,不会有任何重新渲染。我认为您正在更改屏幕的道具。如果您找不到问题,请在此处提供您的代码。

于 2017-04-18T12:40:59.453 回答