所以我有一个本机应用程序,我正在使用react-navigation选项卡导航器。我的问题是我也将我的Logout功能放在标签导航器上,但每个标签都需要一个屏幕。现在我想要发生的是当我点击Logout时它不必在任何地方导航它只需要清除asyncstorage然后重定向到Login屏幕。
提前致谢!
P.S。我是反应原生的新手。
答案 0 :(得分:2)
我猜您已登录您的用户并使用AsyncStorage(会话)存储他的信息。
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
让我知道这是否有意义