Javascript can';t pass参数响应本机5.x
我不知道为什么,但是程序stats.js无法读取SearchScreen.js传递的参数 有人能帮我吗 SearchScreen.jsJavascript can';t pass参数响应本机5.x,javascript,android,react-native,Javascript,Android,React Native,我不知道为什么,但是程序stats.js无法读取SearchScreen.js传递的参数 有人能帮我吗 SearchScreen.js const SearchScreen =({navigation}) => { const [name, SetName] = React.useState(); return ( <View style={styles.container}> <TextInput
const SearchScreen =({navigation}) => {
const [name, SetName] = React.useState();
return (
<View style={styles.container}>
<TextInput
style={styles.inputText}
placeholder="Name of the restaurant..."
placeholderTextColor="#003f5c"
onChangeText={text => SetName(text)}
//onSubmitEditing={ () => this.state.navigate('InsertEmailAddress', name)}
/>
<Text> {name} </Text>
<TouchableOpacity
onPress={() => {navigation.setParams(name), navigation.navigate('Stats', name)}}>
<Text >continue</Text>
</TouchableOpacity>
</View>
);
};
const StatsScreen = ({route, navigation}) => {
return (
<View style={styles.container}>
<Text> Stats Screen </Text>
<Text>{route.params}</Text>
</View>
);
};
const SearchScreen=({navigation})=>{
const[name,SetName]=React.useState();
返回(
集合名(文本)}
//onSubmitEditing={()=>this.state.navigate('InsertEmailAddress',name)}
/>
{name}
{navigation.setParams(名称),navigation.navigate('Stats',name)}>
持续
);
};
Stats.js
const SearchScreen =({navigation}) => {
const [name, SetName] = React.useState();
return (
<View style={styles.container}>
<TextInput
style={styles.inputText}
placeholder="Name of the restaurant..."
placeholderTextColor="#003f5c"
onChangeText={text => SetName(text)}
//onSubmitEditing={ () => this.state.navigate('InsertEmailAddress', name)}
/>
<Text> {name} </Text>
<TouchableOpacity
onPress={() => {navigation.setParams(name), navigation.navigate('Stats', name)}}>
<Text >continue</Text>
</TouchableOpacity>
</View>
);
};
const StatsScreen = ({route, navigation}) => {
return (
<View style={styles.container}>
<Text> Stats Screen </Text>
<Text>{route.params}</Text>
</View>
);
};
const statscreen=({route,navigation})=>{
返回(
统计屏幕
{route.params}
);
};
试试这个
navigation.navigate('Stats',{name});
尝试使用默认值启动:
const [name, SetName] = React.useState("");
如果您设计的堆栈导航器具有如下路由
const Stack = createStackNavigator();
<Stack.Navigator>
<Stack.Screen name="SearchScreen" component={SearchScreen} />
<Stack.Screen name="Stats" component={StatsScreen} />
</Stack.Navigator>
const Stack=createStackNavigator();
这将获得从第一个屏幕到第二个屏幕的参数。如果两个屏幕落在同一堆栈下
const SearchScreen = ({ navigation }) => {
const [name, SetName] = React.useState('');
return (
<View style={styles.container}>
<TextInput
value={name}
style={styles.inputText}
placeholder="Name of the restaurant..."
placeholderTextColor="#003f5c"
onChangeText={(text) => SetName(text)}
//onSubmitEditing={ () => this.state.navigate('InsertEmailAddress', name)}
/>
<Text> {name} </Text>
<TouchableOpacity
onPress={() => {
navigation.navigate('Stats', name);
}}>
<Text>continue</Text>
</TouchableOpacity>
</View>
);
};
const SearchScreen=({navigation})=>{
const[name,SetName]=React.useState(“”);
返回(
集合名(文本)}
//onSubmitEditing={()=>this.state.navigate('InsertEmailAddress',name)}
/>
{name}
{
导航。导航('Stats',name);
}}>
持续
);
};
const statscreen=({route,navigation})=>{
返回(
统计屏幕
{route.params}
);
};
如果您有一个嵌套的导航器,则有一个传入的参数rest,一切都保持不变。与以前相同的结果,参数没有显示:(不要使用“navigation.setParams(name)”只使用“navigation.navigate('Stats',{name:name});“React navigation 5.x路由参数,即使我写:onPress={()=>{navigation.navigate('Stats',{name:name})参数仍然没有显示“name”参数中包含的内容?它是否未定义?显示的是什么{route.params}?它不应该是嵌套的导航器_