将变量从堆栈传递到BottomTab导航器

问题描述 投票:0回答:1

当前行为

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

预期行为

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

代码

从主屏幕(堆栈)

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

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

在Screen1(bottomTab)中

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

它在从首页到屏幕1的第一次导航中获得这些变量(loggedInUser和Role),但是当我从屏幕1导航到屏幕2(通过BottomTab导航器)​​时,它没有传递变量。

我阅读了有关AsyncStorage,密钥和dragonallyGetParent的内容,并且不诚实地知道如何在我的代码中利用它们。

环境

|软件|版本

|反应导航| 4.0.10

|反应本机| 0.60.5

|节点| v10.16.0

| npm或纱| 6.12.0

reactjs react-native react-navigation asyncstorage
1个回答
0
投票

根据React Navigation将参数传递到路由仅适用于堆栈导航器。因此,您不能对标签导航器应用相同的方案。

最好使用Redux保存数据。

© www.soinside.com 2019 - 2024. All rights reserved.