我试图导航到另一个屏幕时传递一些数据,但是它不起作用。它导航到屏幕,但数据未定义。
我在“产品”屏幕上有此按钮:
onPress={() => {
props.navigation.navigate("Login", {
test: "This is just a test"
});
}}
登录屏幕:
const LoginScreen = props => {
const test = props.navigation.getParam("test");
console.log(test);
测试未定义。
我的导航器(我从此代码段中删除了导入和其他内容):
const MainNavigator = createStackNavigator(
{
Home: HomeScreen,
Produto: ProdutoScreen,
},
{
initialRouteName: "Home"
}
);
const LoginNavigator = createStackNavigator(
{
Login: LoginScreen
}
);
const DrawerNavigator = createDrawerNavigator(
{
Main: {
screen: MainNavigator
},
Login: {
screen: LoginNavigator
}
}
);
const SwitchNavigator = createSwitchNavigator({
Start: StartScreen,
Home: DrawerNavigator
});
只需更新您要访问该参数的行。这样,
const LoginScreen = props => {
const test = props.navigation.state.params.test;
console.log(test);
}
只需这样做
const MainNavigator = createStackNavigator(
{
Home: HomeScreen,
Produto: ProdutoScreen,
Login: LoginScreen, //this will resolve your issue
},
{
initialRouteName: "Home"
}
);