我使用react-native-navigation并使用redux进行状态管理。当我用" push"进入screenA到screenB时方法和screenA不会卸载。这将导致不必要的重新渲染,并且之前在react-navigation中我使用了shouldComponentUpdate来匹配组件与当前可见的屏幕以停止重新渲染。
有没有办法在react-native-navigation中执行此操作?
答案 0 :(得分:2)
当您设置导航器事件处理程序(使用addOnNavigatorEvent
)时,您可以跟踪屏幕生命周期事件,并在屏幕消失或出现时收到通知。
或者您可以使用await this.props.navigator.screenIsCurrentlyVisible()
检查屏幕当前是否可见,但我不确定在shouldComponentUpdate
中执行此操作的含义是什么,因为它执行需要的本机调用过桥,可能会增加不必要的延误。
您可以详细了解屏幕可见性here。