在Drawer contentComponent中重置StackNavigator

时间:2017-08-04 10:43:23

标签: react-native react-navigation

我有一个带有Menu contentComponent的DrawerNavigator,里面有一个StackNavigator:

export const AppNavigator = DrawerNavigator(
{
    Main: {
        screen: MainNavigator
    }
},
{
    initialRouteName: "Main",
    backBehavior: "initialRoute",
    contentComponent: props => <Menu {...props} />
}
);

菜单组件

export default class Menu extends Component {
  ...
  close() {
    this.props.navigation.navigate("DrawerClose");
  }

  render(){
    return(
      ...
      <MyStackNavigator />
      ...
    )
  }
  ...
}

问题是当抽屉关闭并重新打开时,StackNavigator会保持其状态。我需要将StackNavigator重置为原始状态。

我可以将导航组件从StackNavigator传递到Menu组件,并在按下关闭按钮时重置它的状态,但是当用户按下设备上的后退按钮时无法处理这种情况(或用滑动手势关闭)。

当抽屉关闭且StackNavigator未处于初始状态时,按下设备上的后退按钮将影响(隐藏)StackNavigator。

0 个答案:

没有答案