【问题标题】:Passing variable from Stack to BottomTab navigator将变量从堆栈传递到底部选项卡导航器
【发布时间】:2019-12-22 09:14:09
【问题描述】:

当前行为

当我从主屏幕(堆栈导航器)导航到其中一个页面时,它会传递变量。但是,当我从 BottomTop 导航器单击不同的页面时,它不会传递变量。

预期行为

在从 BottomTap 导航器中选择变量时将变量从页面传递到另一个页面

代码

从主屏幕(堆栈)

<TouchableOpacity
onPress={()=> this.props.navigation.navigate("Screen1", {loggedInUser: loggedInUser, Role: Role})}>
</TouchableOpacity>

** 我正在从登录页面获取登录用户和角色

在 Screen1 中(底部选项卡)

const { navigation } = this.props;  
const loggedInUser = navigation.getParam('loggedInUser');  
const Role = navigation.getParam('Role');  

它在第一次从主页导航到屏幕 1 时获取这些变量(loggedInUser 和角色),但是当我从屏幕 1 导航到屏幕 2(通过 BottomTab 导航器)时,它不会传递变量。

我阅读了有关 AsyncStorage、密钥和危险的 GetParent 的信息,但实际上并不知道如何在我的代码中使用它们。

环境

|软件 |版本

|反应导航 | 4.0.10

|反应原生 | 0.60.5

|节点 | v10.16.0

| npm 或纱线 | 6.12.0

【问题讨论】:

    标签: reactjs react-native react-navigation asyncstorage


    【解决方案1】:

    根据React Navigation 将参数传递给路由仅适用于堆栈导航器。所以你不能对标签导航器应用相同的场景。

    最好使用 Redux 来保存数据。

    【讨论】:

      猜你喜欢
      • 2020-12-02
      • 2022-01-15
      • 1970-01-01
      • 2020-07-29
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多