Javascript 如何在react native中的route param中指定默认值
我想在route param中设置一个默认值,如果之前我们使用的另一个屏幕没有发送任何内容 像 在react Navigation 5.x中要做什么 我的代码是…(第5行的难度)Javascript 如何在react native中的route param中指定默认值,javascript,react-native,navigation,react-native-navigation,Javascript,React Native,Navigation,React Native Navigation,我想在route param中设置一个默认值,如果之前我们使用的另一个屏幕没有发送任何内容 像 在react Navigation 5.x中要做什么 我的代码是…(第5行的难度) 从“React”导入React; 从“react native”导入{样式表、文本、视图、图像、按钮}; 导出默认函数Home({route,navigation}){ const{photo}=route.params; 返回( 导航。导航(“摄影机”)} /> ); } const styles=StyleShee
从“React”导入React;
从“react native”导入{样式表、文本、视图、图像、按钮};
导出默认函数Home({route,navigation}){
const{photo}=route.params;
返回(
导航。导航(“摄影机”)}
/>
);
}
const styles=StyleSheet.create({
容器:{
弹性:1,
背景颜色:“fff”,
对齐项目:“中心”,
辩护内容:“中心”,
},
图像持有人:{
对准自己:“居中”,
},
按钮:{
差额:20,
},
});
它还显示了一些错误:undefined不是一个对象(计算'route.params.photo')。。我是否总是需要在发送屏幕中声明参数?您可以将一些初始参数传递到屏幕,如下所示
<Stack.Screen
name="Details"
component={DetailsScreen}
initialParams={{ itemId: 100 }}
/>
希望这对你有帮助。无需怀疑。您可以将一些初始参数传递到屏幕,如下所示
<Stack.Screen
name="Details"
component={DetailsScreen}
initialParams={{ itemId: 100 }}
/>
希望这对你有帮助。不要怀疑
<Stack.Screen
name="Details"
component={DetailsScreen}
initialParams={{ itemId: 100 }}
/>
import * as React from "react";
import { Text, View, Button } from "react-native";
import { NavigationContainer } from "@react-navigation/native";
import { createStackNavigator } from "@react-navigation/stack";
function HomeScreen({ navigation }) {
return (
<View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
<Text>Home Screen</Text>
<Button
title="Go to Details"
onPress={() => {
navigation.navigate("Details");
}}
/>
</View>
);
}
function DetailsScreen({ route, navigation }) {
return (
<View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
<Text>Details Screen</Text>
<Text>itemId: {route.params.itemId}</Text>
<Button title="Go back" onPress={() => navigation.goBack()} />
</View>
);
}
const Stack = createStackNavigator();
export default function App() {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen
name="Details"
component={DetailsScreen}
/**
* when you didn't specify itemId params the initial params will be used
*/
initialParams={{ itemId: 100 }}
/>
</Stack.Navigator>
</NavigationContainer>
);
}