React native native tab logout function

时间:2017-09-17 03:10:57

标签: react-native react-navigation

所以我有一个本机应用程序,我正在使用react-navigation选项卡导航器。我的问题是我也将我的Logout功能放在标签导航器上,但每个标签都需要一个屏幕。现在我想要发生的是当我点击Logout时它不必在任何地方导航它只需要清除asyncstorage然后重定向到Login屏幕。

提前致谢!

P.S。我是反应原生的新手。

1 个答案:

答案 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

让我知道这是否有意义