反应本机路由器<backbutton>

时间:2018-07-23 17:43:22

标签: javascript react-native react-native-router-flux

我在我的应用中使用了本机的React Router,有人告诉我将路由包装在组件中,以便显示和使用android设备后退按钮,如下所示:

<NativeRouter>
    <BackButton>
      <View style={styles.container}>
        <Switch>
          <Route path="/TelUtiles" component={TelUtiles} />
          <Route exact path="/:resp?" component={Main} />          
          <PrivateRoute path="/protected/:username?" component={UserPage} />
        </Switch>        
      </View>
    </BackButton>
  </NativeRouter>

它正常工作,直到您尝试使用不正确的ID登录,接收到错误,然后使用正确的ID登录,按后退按钮并再次显示错误消息为止。 像这样在主要组件中检查收到的消息:

constructor(props) {
        super(props);

        this.state = {
            username: '',
            checked: false,
            isModalVisible_noDni: false,
            isModalVisible_DniIncorrecto: false
        }                
        if (props.match.params.resp == "dni_incorrecto") {                        
            this.state.isModalVisible_DniIncorrecto=true;
        } else if (props.match.params.resp == "sin_serv_vet") {
            this.state.isModalVisible_SinServVet=true;
        } else if (props.match.params.resp == "sin_mascotas") {
            this.state.isModalVisible_SinMasco=true;
        }
    }

因此,当按下Backbutton时,props.match.params.resp似乎保留了该消息。我该如何防止这种行为?。

0 个答案:

没有答案