首页 > 解决方案 > 如何将参数传递到另一个选项卡导航屏幕

问题描述

大家好,我还是新手反应原生,我想问我如何将参数传递到另一个屏幕?我目前正在做一个登录系统,该系统将访问用户的电子邮件并在他们登录后在他们的个人资料页面上显示他们的电子邮件。我{ this.props.navigation.state.params.Email }profile.js中尝试过,但它显示一个错误说

TypeError: undefined is not an object (评估 'this.props.navigation.state.params')

我也看到了一些相关的解决方案,但那些是用于堆栈导航器的,但我使用的是底部标签导航,所以我不确定它们是否以相同的方式工作。

登录.js

this.props.navigation.navigate('Profile', { Email: email });

应用程序.js


export default function App() {
  return (
    <NavigationContainer>
      <Tab.Navigator>
        <Tab.Screen name="Home" component={getTransaction} />
        <Tab.Screen name="addTransaction" component={addTransaction} />
        <Tab.Screen name="Register" component={register} />
        <Tab.Screen name="Login" component={login} />
        <Tab.Screen name="Profile" component={profile} />
      </Tab.Navigator>
    </NavigationContainer>
  );
}

标签: react-native

解决方案


在您的个人资料屏幕页面中:

export const profile = ({route}) => {

const { Email } = route.params;

}

然后您可以使用“电子邮件”作为常规常量。


推荐阅读