我正在使用反应导航来导航屏幕。我使用嵌套导航TabNavigator
和StackNavigator
。如何知道当前屏幕是否已滑动/更改为其他屏幕,并在不使用state
的情况下更改屏幕内的Redux
。我尝试获取this.props.navigation.state.routeName
,它获取屏幕的routeName,但是当routeName发生更改时如何触发
const mainNav = TabNavigator({
Home: {
screen: HomeScreen,
},
Live: {
screen: LiveScreen,
},
Radio: {
screen: RadioScreen,
},
} );
export const mainStack = StackNavigator({
Home: { screen: mainNav},
Content: { screen: ContentScreen },
});
答案 0 :(得分:0)
目前无法在反应导航中跟踪滑动手势。您可以使用黑客来实现这一目标,但大多数都需要使用redux来挂钩反应导航。
跟踪屏幕的最佳方法是使用react redux并将状态与appState挂钩。这将为您提供对导航的最大控制,您还可以使用redux操作来控制导航以及应用中的其他业务内容。
的最简单方法您可以参考
https://github.com/react-community/react-navigation/issues/1063