所以我有一个 react native 应用程序,并且我正在使用 react 导航选项卡导航器。我的问题是我也将注销功能放在选项卡导航器上,但每个选项卡都需要一个屏幕。现在我想要发生的是,当我单击“注销”时,它不必导航到任何地方,只需清除异步存储,然后重定向到登录屏幕。
提前致谢!
附注我是 react 原生新手。
最佳答案
我猜测您已经登录您的用户并使用 AsyncStorage( session )存储他的信息。
1)我对react-navigation或react-native-router-flux要做的是加载一个组件,该组件在componentWillMount()函数上将触发注销功能并将其重定向到您需要的场景。请参阅下面的示例:
import React, { Component } from 'react'
import { connect } from 'react-redux'
import { NavigationActions } from 'react-navigation'
import { logoutUser } from '../actions/index' //Action from Redux
class LogoutScene extends Component {
componentWillMount() {
this.props.logoutUser()
NavigationActions.navigate({ routeName: someRouteName })
}
}
const mapStateToProps = (state) => {}
export default connect(mapStateToProps, {logoutUser})(LogoutScene)
2) 我强烈建议您在项目中使用 Redux,因为虽然在项目开始时很困难且毫无意义,但从长远来看,会让您的生活变得如此轻松。为了做到这一点,您将需要比上面的示例更多的东西。我认为你应该检查这个https://medium.com/@jonlebensold/getting-started-with-react-native-redux-2b01408c0053
请告诉我这是否有意义
关于react-native - React native 导航选项卡注销功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46260287/