反应原生导航选项卡注销功能

问题描述:

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

在此先感谢!

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

+2

只是语义/ UX注释:通常你不会有一个标签导航退出按钮。你可能会有一个配置文件选项卡,然后在该屏幕上有一个注销按钮。 – Li357

+0

是的,我同意。但我只是遵循设计:) – Jed

+0

你能解释一下这个问题,我从中得到的是,你需要整个工作代码来描述你所描述的内容,而不是一个解决方案......给我们一些信息,比如Do你用redux?一些代码示例等...感谢 –

我在猜测你已经登录你的用户并且用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)我强烈建议你使用终极版在你的项目,因为虽然坚硬,是毫无意义的长期项目的开始让你的生活那么容易。为了做到这一点,虽然你会需要比上面的例子更多的东西。我想你应该检查这个https://medium.com/@jonlebensold/getting-started-with-react-native-redux-2b01408c0053

让我知道,如果这是有道理的

+0

我无法解决这个问题,但我有另一个问题在这里https://*.com/questions/46675964/react-navigation-changing-tab-icons-on-tab-navigator-dynamically也许在此之后我可以应用你的答案。谢谢 – Jed