我正在设置一个使用react-native-navigation
的应用程序。有一些值我希望在导航过程中保留。当我手动触发导航时,可以在调用navigate
时将这些值作为参数传递。但是当我使用由插件提供的本地导航时,我不能将其设置为参数。
最好的方法是什么,可以在整个应用程序中共享API令牌,而不需要将其存储在AsyncStorage中?我是否错过了一些明显的解决方案?
我的App.js:
const AppStack = createBottomTabNavigator({
Members: createStackNavigator({
MemberList: MemberList,
AddMember: NewMember,
},{
mode: 'card',
initialRouteName: "MemberList"
}),
Scan: Scanner
});
const AuthStack = createStackNavigator({ Login: Login });
export default createAppContainer(
createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: AppStack,
Auth: AuthStack
},
{
initialRouteName: "AuthLoading"
}
)
);
认证堆栈负责认证,获取API令牌后,我使用以下方法手动重新路由到应用程序:
this.props.navigation.navigate({
routeName: 'App',
params: { auth_token: data.auth_token },
action: this.props.navigation.navigate({
routeName: 'MemberList',
params: { auth_token: data.auth_token}
})
});
当我使用底部导航进行导航时,会出现问题,因为插件处理了此操作,似乎没有保存参数。